首页 > 解决方案 > 如何运行本地保存的 npm 包而不在 package.json 上设置它们?

问题描述

我正在尝试执行本地保存的 npm 包,但找不到。

npm run jsdoc

输出:

npm ERR! Linux 4.15.0-24-generic
npm ERR! argv "/usr/bin/node" "/usr/local/bin/npm" "run" "jsdoc"
npm ERR! node v8.10.0
npm ERR! npm  v3.10.10

npm ERR! missing script: jsdoc
...

但我知道脚本位于 mynode_modules/.bin中,可以直接执行:

jsdoc -> ../jsdoc/jsdoc.js*

运行它作为我的预配置命令package.json

  "scripts": {                                                                                                                                                                                                                                                                                                                                                                                  
    "doc": "jsdoc"                                                                                                                                                                                          
  },

是否有特殊的环境配置(npmrc 或类似的东西)让 npm run 同时查看package.json脚本和 in node_modules/.bin

我错过了什么?

标签: javascriptbashnpm

解决方案


该命令npm run是 的别名npm run-script。如文档中所示:

SYNOPSIS
       npm run-script <command> [-- <args>...]

       alias: npm run

它只会添加node_modules/.bin到 package.json 中编辑的脚本内的上下文。

npm-run的答案可能会产生误导,因为人们可能认为 npm 命令可以被引用为 git 子命令(git-init、git-clone 等),在这种特殊情况下,它是一个单独的包,与 npm run- 无关脚本。


推荐阅读