在npm项目中安装ruby

我有一个node.js项目取决于一个rubygem。 是否有可能创build一个安装过程,以简单的方式安装gem依赖项? 理想情况下,当我这样做

npm install 

要安装npm的依赖关系,如果安装了所需的ruby gems,那将会很不错。

两者之间有什么桥梁? 如果没有,有没有人调查过这一点,发现一个build议的最佳做法或解决这些情况?

从理论上讲, npm-scripts提供了在npm install期间运行脚本的function。 你可以例如添加这些行到你的package.json

 { "scripts" : { "preinstall" : "/usr/bin/env gem install some_gem_name" } } 

当然,您可能需要添加一个更复杂的脚本来处理未安装Ruby和/或Rubygems的情况,Gem安装失败等。安装依赖关系可能会变得非常复杂,这就是为什么许多程序包开发者给定的语言)往往只是假设所需的依赖关系已经在目标系统上运行。 最后,npm-scripts文档指出

安装脚本是一个反托拉斯

安装或预安装脚本的唯一有效用途是编译,必须在目标架构上完成。

总而言之,我build议您将精力集中在为自述文件添加适当的安装说明。

如果您需要在node.js应用程序中执行ruby脚本,那么您可以创build一个Gemfile,然后将此预安装/安装后脚本添加到您的package.json中。

 "scripts": { "postinstall": "/usr/bin/env bundle install" },