我想创建可以全局安装的npm包。我可以发布包,发布新版本,但是当我想在全局安装它时,它无效。
RemoteData
输出:
yarn global add <package>
success Installed "pentest-tool-lite@0.0.3" with binaries:
- pentest-tool-lite
输出:
npm install -g <package>
调试日志:
npm ERR! path /nvm/versions/node/v8.7.0/lib/node_modules/pentest-tool-lite/lib/index
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod 'nvm/versions/node/v8.7.0/lib/node_modules/pentest-tool-lite/lib/index'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! _logs/2017-12-03T16_00_34_926Z-debug.log
纱线似乎成功安装,但不是。 NPM显示错误,但我真的不知道为什么?您对module有什么经验吗?
答案 0 :(得分:0)
好的,我发现了问题。如果要将全局模块发布到npm,则必须发布构建版本(例如bin或lib文件夹)。我有这个版本但在.gitignore
中被忽略了,因为它不需要处于回购状态。当你没有.npmignore
npm使用.gitignore
文件时,所以模块是在没有构建版本的情况下发布的,因此没有可执行文件。
解决方案:使用以下命令将.npmignore
文件添加到项目的根目录:
node_modules/
coverage/