2016-02-24 80 views
3

我有一个简单的结构看起来像这样的web应用程序。Nodejs嵌套本地模块安装

. 
├── app.js 
├── native_modules 
│   └── my_module_addon 
│    ├── binding.gyp 
│    ├── index.js 
│    ├── node_modules 
│    ├── package.json 
│    ├── my_module_addon.cc 
├── node_modules 
├── package.json 

我开发了原生模块插件并将其链接起来。 我想在从repo中获取项目后调用npm,然后自动调用node-gyp rebuild,轻松安装我的本地插件。

npm install 

好了,我的应用程序的package.json:

{ 
    "name": "MyWebApp", 
    "version": "0.0.0", 
    "private": true, 
    "scripts": { 
    "start": "node ./bin/www" 
    }, 
    "dependencies": { 
    "body-parser": "~1.13.2", 
    "express": "~4.13.1", 
    "my_module_addon": "file:./native_modules/my_module_addon" 
    } 
} 

而且我模块的package.json:

{ 
    "name": "scs3reader_addon", 
    "version": "1.0.0", 
    "description": "My Awesome Addon", 
    "main": "index.js", 
    "scripts": { 
    "install": "node-gyp rebuild" 
    }, 
    "license": "MIT", 
    "dependencies": { 
    "bindings": "^1.2.1", 
    "nan": "^2.2.0" 
    }, 
    "gypfile": true 
} 

将我的本地插件我把它添加到依赖性

"my_module_addon": "file:./native_modules/my_module_addon" 

问题出现在我c所有npm安装在web应用程序上我已经安装了所有模块并执行了node-gyp,但不知道为什么没有生成文件夹和为本地插件输出文件。

> node-gyp rebuild 

    CXX(target) Release/obj.target/my_module_addon/my_module_addon.o 
    SOLINK_MODULE(target) Release/my_module_addon.node 
[email protected] node_modules/my_module_addon 
├── [email protected] 
└── [email protected] 

回答

2

你有本地模块的git回购?如果你做的 - 尝试这种依赖性风格

"my_module_addon": "git+ssh://[email protected]/~/repos/my_module_addon" 

应与npm install

+0

正常工作是的,这就是工作。谢谢! – take5v