我开发了一个小应用程序。
我这样做是为了全局安装开发的模块:
npm install . -g
我收到了这个回复:
$ npm install -g .
update-deps-dev@1.0.0 C:\Users\Vladislav.Sharikov\AppData\Roaming\npm\node_modul
es\update-deps-dev
我已经安装了我的模块,其中存储了其他全局安装的模块。此外,我的模块可通过以下方式获得:
npm ls -g --depth=0
现在,我想从我电脑上的任何地方启动这个模块。我该怎么做?
我试着跑,但得到这个:
Vladislav.Sharikov@PC /D/Dev
$ update-deps-dev
sh: update-deps-dev: command not found
我正在使用Windows 7 x64 + Git Bash。
我应该如何启动我的全局安装的节点应用程序?
我的package.json
文件内容:
{
"name": "update-deps-dev",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"adm-zip": "^0.4.7",
"fs": "0.0.2",
"https": "^1.0.0",
"q": "^1.4.1",
"shelljs": "^0.7.0"
}
}
答案 0 :(得分:1)
不确定git bash。但是在跨平台方式中,您可以简单地在包json上定义bin字段,以告诉npm稍后在命令行上生成二进制文件。它在windows,mac,linux上运行正常。
请注意,它是每用户二进制文件。如果您正在使用linux,则无法将其安装到/usr/bin
,但根据您的系统,更可能是~/node_modules/bin
。
假设您的二进制文件已定义到bin.js
文件中,您只需添加一个新的对象字段bin
,并希望定义一个密钥,二进制文件的名称及其值的foreach bin必须指向bin文件相对于包文件的路径:
{
"name": "update-deps-dev",
"version": "1.0.0",
"description": "",
"main": "index.js",
"bin": {
"update-deps-dev": "./bin.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"adm-zip": "^0.4.7",
"fs": "0.0.2",
"https": "^1.0.0",
"q": "^1.4.1",
"shelljs": "^0.7.0"
}
}
另请阅读,