本地 npm install 不会创建指向 "bin" 可执行文件的符号链接
Local npm install doesn't create symlink to "bin" executables
如果我创建一个最小的 package.json
文件:
{
"name": "cli-test",
"version": "1.0.0",
"bin": "index.js",
"main": "index.js"
}
和一个 index.js
文件:
#!/usr/bin/env node
console.log("Hello")
和 运行 npm install
,为什么 npm
不创建指向我的 index.js
文件的 ./node_modules/.bin/cli-test
符号链接? The package.json documentation 在 "bin" 上这样说:
On install, npm will symlink that file into prefix/bin
for global installs, or ./node_modules/.bin
for local installs.
如果我这样做 npm install -g
,则会创建一个符号链接,但我不想进行全局安装。我正在使用节点 6.10.3 和 npm 3.10.10。还尝试使用 npm 5.0.4.
运行 npm install
在包目录中(这就是你正在做的)只安装包的依赖项,而不是包本身:
npm install (in package directory, no arguments):
Install the dependencies in the local node_modules folder.
(来自 npm help install
)
您引用的文档是指正在安装的包本身。
我一般把可执行的脚本放在包目录的./bin
中,这样我就可以直接执行它们,并从package.json
:
中引用它们
"bin" : { "my-cool-cli" : "./bin/my-cool-cli" }
如果我创建一个最小的 package.json
文件:
{
"name": "cli-test",
"version": "1.0.0",
"bin": "index.js",
"main": "index.js"
}
和一个 index.js
文件:
#!/usr/bin/env node
console.log("Hello")
和 运行 npm install
,为什么 npm
不创建指向我的 index.js
文件的 ./node_modules/.bin/cli-test
符号链接? The package.json documentation 在 "bin" 上这样说:
On install, npm will symlink that file into
prefix/bin
for global installs, or./node_modules/.bin
for local installs.
如果我这样做 npm install -g
,则会创建一个符号链接,但我不想进行全局安装。我正在使用节点 6.10.3 和 npm 3.10.10。还尝试使用 npm 5.0.4.
运行 npm install
在包目录中(这就是你正在做的)只安装包的依赖项,而不是包本身:
npm install (in package directory, no arguments):
Install the dependencies in the local node_modules folder.
(来自 npm help install
)
您引用的文档是指正在安装的包本身。
我一般把可执行的脚本放在包目录的./bin
中,这样我就可以直接执行它们,并从package.json
:
"bin" : { "my-cool-cli" : "./bin/my-cool-cli" }