我想创建一个全局可访问的 node.js 模块,比如express
和mocha
.
因此,我深入研究了他们的源代码,并创建了以下简短示例:
index.js文件,位于hello/目录中:
#!/usr/bin/env node
console.log("Hello world!")
正如你所看到的,它只是一个“hello world”来测试这个概念。
这是位于同一hello/目录中的package.json文件:
{
"name": "Hello",
"version": "0.0.1",
"main": "./index",
"bin": {
"hello": "./bin/hello"
}
}
然后,我尝试使用以下内容使用npm安装节点应用程序:
sudo npm install -g hello/
但这会返回一个错误:
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/Hello/bin/hello'
我不知道出了什么问题,因为我尊重模块结构,就像我在express
和mocha
. 您能否通过以下方式为我提供帮助:
- 指出我的情况有什么问题
- 链接到有关创建可执行节点模块的有用 tuts 和资源
谢谢。