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

Posted

技术标签:

【中文标题】npm 安装错误,错误为:ENOENT,chmod【英文标题】:npm install errors with Error: ENOENT, chmod 【发布时间】:2013-08-02 04:11:48 【问题描述】:

我正在尝试全局安装我刚刚发布的 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 cache clear)

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

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

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

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

【问题讨论】:

你的包是使用 node-gyp 的吗?如果是这样,我认为 no-bin-links 调用是相关的。 不,模块中没有本机代码。 Here 为模块源码供参考。 --no-bin-links 只是阻止 npm 将 package.json 的 bin 哈希中的文件符号链接到全局安装路径。 啊,我以前确实遇到过这种情况,但我不记得为什么......如果它突然出现在我的脑海中会告诉你的。 @jcollum 谢谢,这真的很令人沮丧,我已经检查了十亿次,但我仍然不禁觉得我错过了一些愚蠢的简单事情。那或者可能是一些奇怪的错误。 【参考方案1】:

关闭 android Studio 为我解决了这个错误。

【讨论】:

【参考方案2】:

删除 package-lock.json 文件然后运行npm install

【讨论】:

【参考方案3】:

我遇到过类似的问题,清除缓存、删除 node_modules 并重新安装都不起作用,因此将节点版本升级到最新版本对我有用。

sudo npm install n -g

然后

sudo n stable

【讨论】:

【参考方案4】:

因为没有package.json,只有package-lock.json

试试:npm init --yes

【讨论】:

【参考方案5】:

node_modules 目录可以在“neatbeans”等其他应用程序中打开,并且禁止创建/重命名文件

可笑——在 Windows 10 机器上——这是我唯一的问题

【讨论】:

【参考方案6】:

我得到了简单的解决方案,只需清除 npm cache

sudo npm cache clear --force

然后删除node_modules & package-lock.json

sudo rm -rf node_modules
sudo rm -rf package-lock.json

现在使用 npm 安装依赖模块并启动服务器

npm install && npm start

【讨论】:

【参考方案7】:

首先安装猫鼬依赖

npm 安装猫鼬

npm 安装

【讨论】:

以上是关于npm 安装错误,错误为:ENOENT,chmod的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node 8.9.4 LTS 安装 Sails.js 依赖项时,NPM“ENOENT:没有此类文件或目录错误”

所有 npm 命令都给出相同的错误(ENOENT)

反应原生窗口,产生 npm ENOENT 错误

npm 错误!代码 ENOENT,npm 错误!错误号 34

如何阅读 npm ENOENT 错误

npm 错误!错误:生成 ENOENT