如何全局安装客户node.js二进制模块?

时间:2013-10-16 11:38:52

标签: node.js node-gyp

所以我用C ++和node-gyp创建了自己的模块。在node-gyp configure build之后事情变得很好,我已经得到build/Release我需要的一切。

现在,在我正在使用此模块的其他项目中,我不想像

那样添加它
var a = require('../../mylib/build/Release/mylib');

但是

var a = require('mylib');

package.json中定义依赖项之后。那么如何使用npm或其他东西来实现这一目标呢?

3 个答案:

答案 0 :(得分:0)

sudo npm install --global /home/nhaa123/mylib/build/Release/mylib(如果这是包含package.json的文件夹)文档:https://npmjs.org/doc/install.html

答案 1 :(得分:0)

您可以将包的入口点添加到package.json中的main字段。这是require('yourpackage')时要调用的内容。

请参阅以下链接:

  1. 在第8.1节末http://book.mixu.net/node/ch8.html
  2. https://npmjs.org/doc/json.html
  3. main部分下

答案 2 :(得分:0)

您不希望全局安装模块 - 项目依赖项应在本地安装(在项目的文件夹中)。您全局安装的唯一内容是npm模块,意味着从命令行运行。

相反,只需将包含模块的文件夹(假设它有自己的package.json)添加到项目的package.json中。

{
    "name": "My Project",
    "dependencies": {
        "express": "3.1.x",
        "mylib": "/home/me/mylib"
    }
}