我使用了本页面中解释的步骤:http://nodejs.org/api/addons.html,并使用node-gyp工具成功创建了一个addon.node文件。它工作得很好,而且是c++静态库的包装器。
现在我想分发这个文件,我使用以下命令创建了package.json文件:
npm初始化
并使用"npm install.-g“测试它,但它试图重新编译模块,这将很难实现,因为它将需要我嵌入到.node文件中的库,是否可以分发我已经在系统中编译的.node文件?
如何将编译后的.node文件包含到npm包中并上传到npm注册表。我确信我离成功只有一步之遥,但我不知道从哪里开始。
我读过关于依赖关系的文章,但是当您的模块依赖于其他模块,而不是您自己的.node文件时,它似乎很适合。
谢谢你的帮助。
发布于 2012-11-16 02:38:25
好了,我终于实现了我想要实现的目标,下面是一些选项,以防其他人需要这个:
虽然第一个包运行得很好,但是我需要为windows,linux,mac等创建一个包,这看起来很奇怪:“如果你在使用linux : npm install xxx-linux",所以我决定调整我的库,让用户可以编译模块。
为此,我创建了一个"client-dev“安装程序,其中预编译了所需的库,只要包含头文件所需,然后使用预安装的库和头文件创建要编译的节点模块。我需要在我的网站上添加一个帮助来解释,为了安装模块,用户需要首先使用apt-get、windows installer或mac pkg安装依赖项。
虽然这对我来说很有效,但我不知道从长远来看,这是否可以维护,但我没有找到更好的方法来做到这一点。(最终启发我目标的唯一链接是这样一个链接:“如果你打算使用带有预编译库的节点模块,你将会做噩梦”,不管怎样……我更喜欢用nodejs从头开始做一个完整的实现,并维护java,c#,nodejs,php等的版本。
https://stackoverflow.com/questions/13373220
复制相似问题