我有一个依赖于 ruby gem 的 node.js 项目。是否有可能以某种方式创建一个安装过程,以简单的方式安装 gem 依赖项?理想情况下,当我这样做时
npm install
要安装 npm 依赖项,如果还安装了所需的 ruby gem,那就太好了。
两者之间有某种桥梁吗?如果没有,是否有人对此进行了调查并找到了建议的最佳做法或在这些情况下解决问题?
最佳答案
理论上,npm-scripts提供在 npm install
期间运行脚本的工具。例如,您可以将这些行添加到您的 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.
总而言之,我建议您将精力集中在向自述文件中添加正确的安装说明上。
关于ruby - 在 npm 项目中安装 ruby gems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741174/