【问题标题】:Local npm install doesn't create symlink to "bin" executables本地 npm install 不会创建指向“bin”可执行文件的符号链接
【发布时间】:2017-06-29 17:39:21
【问题描述】:

如果我创建一个最小的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 不创建./node_modules/.bin/cli-test 符号链接到我的index.js 文件? The package.json documentation 在“bin”上这样说:

安装时,npm 将该文件符号链接到 prefix/bin 以进行全局安装,或 ./node_modules/.bin 进行本地安装。

如果我执行npm install -g,则会创建一个符号链接,但我不想进行全局安装。我正在使用节点 6.10.3 和 npm 3.10.10。还尝试使用 npm 5.0.4。

【问题讨论】:

    标签: node.js npm-install


    【解决方案1】:

    在包目录中运行npm install(这就是你正在做的)只会安装包的依赖项,而不是包本身:

    npm install(在包目录中,无参数):

    在本地 node_modules 文件夹中安装依赖项。

    (来自npm help install

    您引用的文档是指正在安装的包本身

    我一般把可执行脚本放在包目录的./bin,这样我就可以直接执行,从package.json引用:

    "bin" : { "my-cool-cli" : "./bin/my-cool-cli" }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 2012-12-28
      • 2020-07-06
      • 1970-01-01
      • 2022-11-24
      • 2016-09-05
      • 1970-01-01
      相关资源
      最近更新 更多