我有一个依赖于
ruby gem的node.js项目.有可能以某种方式创建一个安装过程,以简单的方式安装gem依赖项吗?理想情况下,当我这样做
npm install
要安装npm依赖项,如果安装了所需的ruby gems也会很棒.
这两者之间是否存在某种桥梁?如果没有,有没有人调查过这个并找到了建议的最佳做法或在这些情况下解决?
解决方法
从理论上讲,npm-scripts提供了在npm安装期间运行脚本的功能.例如,您可以将这些行添加到package.json中:
{ "scripts" : { "preinstall" : "/usr/bin/env gem install some_gem_name" } }
当然,您可能希望添加一个更复杂的脚本来处理未安装Ruby和/或Rubygems,Gem安装失败等情况.等安装依赖项可能会变得任意复杂,这就是许多软件包开发人员(在任何给定的语言)通常只是假设所需的依赖关系已经在目标系统上启动并运行.最后,npm-scripts文档说明了这一点
INSTALL SCRIPTS ARE AN ANTIPATTERN
和
The only valid use of install or preinstall scripts is for compilation which must be done on the target architecture.