node.js – 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!     <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和我有三个检查一切在包中的一切都应该工作。我做了一些搜索,看到一些模拟器案例,没有一个已经解决。这是我试过的。

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

我注意到,错误与我链接到路径的文件有关,特别是当npm试图做一个chmod。这不应该是一个问题,我的lib / cli.js具有正常的权限,并且npm在此安装期间具有超级用户权限。

在挖掘通过npm文件后,我发现一个选项,将停止npm制作bin链接( – 无bin链接),当我尝试与它安装,它工作正常。

那么什么交易?这是一些weird fringe case bug有没有解决方案呢?

编辑:为了参考,here是我上传的模块

Ok它看起来像NPM正在使用你的.gitignore作为.npmignore文件的基础,因此忽略/ lib。如果在应用程序的根目录中添加一个空白的.npmignore文件,一切都应该工作。

[编辑] – 更多关于此行为的信息:https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package

相关文章
相关标签/搜索