我试图在全球范围内安装我刚刚发布的 npm 模块。每次尝试从 npm 或文件夹安装时,都会出现这个错误。
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/giodamlio/npm-debug.log
npm ERR! not ok code 0
我正在使用 sudo,我已经三次检查包中的一切都应该工作。我四处搜寻了一下,发现了几个类似的案件,但都没有得到解决。这是我试过的方法。
sudo npm install -g npm
)sudo npm cache clear
)npm cache clear
)我注意到这个错误与我链接到路径的文件有关,特别是当 npm 尝试执行 chmod 时。这应该不是问题,我的 lib/cli.js
有正常的权限,npm 在安装期间有超级用户的权限。
在深入研究了 npm 文档之后,我发现了一个可以阻止 npm 建立 bin 链接(--no-bin-links
)的选项,当我尝试使用它进行安装时,它工作得很好。
到底怎么回事? 这是什么 奇怪的边缘案件窃听器还没有解决方案吗?
编辑: 作为参考,给你是我上传的模块