dan*_*elo 4 node.js npm-install
如果我创建一个最小package.json文件:
{
"name": "cli-test",
"version": "1.0.0",
"bin": "index.js",
"main": "index.js"
}
Run Code Online (Sandbox Code Playgroud)
和一个index.js文件:
#!/usr/bin/env node
console.log("Hello")
Run Code Online (Sandbox Code Playgroud)
并运行npm install,为什么不为我的文件npm创建./node_modules/.bin/cli-test符号链接index.js?package.json文档在"bin"上说明了这一点:
在安装时,npm会将该文件符号链接到
prefix/bin全局安装或./node_modules/.bin本地安装.
如果我这样做npm install -g,则会创建一个符号链接,但我不想进行全局安装.我正在使用节点6.10.3和npm 3.10.10.也试过npm 5.0.4.
npm install在包目录中运行(这是你正在做的)只安装包的依赖项,而不是包本身:
npm install(在包目录中,没有参数):
在本地node_modules文件夹中安装依赖项.
(来自npm help install)
您所引述的文件指的是包装本身正在安装.
我通常将可执行脚本放在./bin包目录中,因此我可以直接执行它们,并从package.json以下位置引用它们:
"bin" : { "my-cool-cli" : "./bin/my-cool-cli" }
Run Code Online (Sandbox Code Playgroud)