gpt4 book ai didi

node.js - node js模块的分发

转载 作者:搜寻专家 更新时间:2023-11-01 00:46:22 25 4
gpt4 key购买 nike

我使用了此页面中说明的步骤:http://nodejs.org/api/addons.html并使用 node-gyp 工具成功创建了一个 addon.node 文件。它工作正常,它是 C++ 静态库的包装器。

现在我想分发它,我使用以下方法创建了 package.json 文件:

npm 初始化

并使用“npm install .-g”对其进行测试,但它会尝试重新编译难以实现的模块,因为它需要我嵌入到 .node 文件中的库,是否可以分发我已经在我的系统中编译了 .node 文件?

如何将编译后的 .node 文件包含到 npm 包中并将其上传到 npm 注册表。我确信我只是迈出了第一步,但我不知道从哪里开始。

我阅读了有关依赖项的信息,但它似乎适用于您的模块依赖于其他模块而不是您自己的 .node 文件的情况。

感谢您的帮助。

最佳答案

好的,我终于完成了我想要实现的目标,以下是其他人需要时的选项:

  1. 为避免编译,您可以创建一个新文件夹并在其中复制 package.json 以及 .node 文件,我没有找到它,只是尝试了一下,它起作用了。
  2. 提供所需的库以允许用户自己编译。

虽然第一个运行良好,但我需要为 windows、linux、mac 等创建一个包。说起来很奇怪:“如果你在 linux 中使用:npm install xxx-linux”,所以我决定调整我的库以允许用户编译模块。

为此,我创建了一个“client-dev”安装程序,其中预编译了所需的库,只要包含所需的 header ,然后使用预安装的库和 header 创建要编译的 Node 模块。我需要在我的网站上添加帮助来解释,为了安装模块,用户需要先使用 apt-get、windows installer 或 mac pkg 安装依赖项。

虽然这对我有用,但我不知道从长远来看是否可以维护,但我没有找到更好的方法来做到这一点。 (最终启发我目标的唯一链接是这样说:“如果你要使用带有预编译库的 Node 模块,你将会做噩梦”,无论如何......我更喜欢这样做而不是从头开始在 Node js 中进行完整的实现并维护 java、c#、nodejs、php 等版本。

关于node.js - node js模块的分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com