繁体   English   中英

如何将Ruby代码包装在NPM软件包中?

[英]How can I package Ruby code in an NPM package?

我正在编写一个要开源的节点模块,并且对某些Ruby代码有依赖性(有关详细信息,请参见我可以在Node.js项目中包含Ruby Gem吗? )。 我做了一个需要一些宝石的Ruby项目,并且所有这些工作都很好。 在我的node_module中,我想通过exec将其连接到Ruby代码。

但是现在也有了Ruby依赖项。 那么我可以以某种方式指定Ruby版本以及运行节点包所需的gemset吗?

也许模棱两可的问题。 我可以澄清是否有任何不清楚的地方。

我认为您不能/应该指定执行代码时要使用的Ruby版本。 那应该是图书馆消费者的责任,所以选择。 由于要使用exec执行代码,因此库使用者将具有使ruby对节点进程可访问的额外责任。 作为库开发人员,这如何发生并不取决于您。

至于依赖关系/宝石集,只需使用捆绑程序即可。

也许您可以做这样的事情-没有更多信息,这很难说。

  1. 在红宝石方面,构建您的宝石以执行所需的任何操作,然后向其中添加一个rake任务。 如何构建此rake任务显然取决于项目的需求以及如何使用它,但是它将为您提供从外部进行交互的方法。

  2. 在“中间”中,构建一个包含RVM的bash脚本-这样,您可以在运行rake任务之前要求特定的gemset /做特定的事情。 另一个好处是,如果您想更改gemset或其他实现细节,只需更改bash脚本。

  3. 在节点侧,调用bash脚本。 有关此答案的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM