【发布时间】:2023-04-03 14:17:02
【问题描述】:
我在我的虚拟服务器上使用 nodejs 制作了一个小脚本来管理数据库中的用户。
在 package.json 中,我添加了“bin”并将其设置到我的脚本中。我的尝试是让一个命令在整个服务器上可用,所以我不需要去脚本所在的目录并编写“node usermanager.js”。
我使用了 npm 链接,它似乎工作正常:
/home/sl4yer/bin/cl9wnhook -> /home/sl4yer/lib/node_modules/cl9wnhook_usermanager/usermanager.js
/home/sl4yer/lib/node_modules/cl9wnhook_usermanager -> /home/sl4yer/cl9wnHook/usermanager
package.json 顺便说一句是:
{
"name": "cl9wnhook_usermanager",
"version": "1.0.0",
"description": "User manager for cl9wnHook",
"main": "usermanager.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"bin": {
"cl9wnhook": "./usermanager.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"commander": "^2.9.0",
"js-sha512": "^0.2.2",
"readline-sync": "^1.4.5"
}
}
所以使用命令“cl9wnhook”应该可以工作。
但是当我调用它时,我得到:
[sl4yer@lynx usermanager]$ cl9wnhook
: No such file or directory
有什么想法吗?
【问题讨论】:
-
This 可以帮助你。
-
这不正是我所做的吗?]
-
~/bin/cl9wnhook有效吗? -
Nope :( 同样的错误。似乎该命令已注册但未找到该文件 :(
-
你有什么解决办法吗?我也面临同样的问题。
标签: json node.js npm package.json