npm安装错误,错误为:ENOENT,chmod

吉达米利奥

我正在尝试全局安装刚发布的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!     <[email protected]>

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,并且已经对包中的所有内容进行了三重检查。我四处搜寻,发现了两个类似的案例,但都没有解决。这是我尝试过的。

  • 升级npm(sudo npm install -g npm
  • 清除全局npm缓存(sudo npm cache clear
  • 清除用户npm缓存(npm cache clear

我注意到该错误与我链接到该路径的文件有关,特别是在npm尝试执行chmod时。这应该没问题,我的用户lib/cli.js具有正常的权限,而npm在此安装过程中具有超级用户权限。

在浏览了npm文档之后,我发现了一个可以阻止npm制作bin links(--no-bin-links)的选项,当我尝试使用它进行安装时,它运行良好。

那怎么办?这是一些尚未解决的怪异的案例错误吗?

编辑:供参考,是我上传的模块

错误语法

好的,看起来NPM会将您.gitignore用作.npmignore文件的基础,因此可以忽略/lib如果将空白.npmignore文件添加到应用程序的根目录中,那么一切都会正常进行。

[edit]-有关此行为的更多信息,请参见:https : //docs.npmjs.com/misc/developers#keeping-files-out-of-your-package

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章