Cordova 安装错误:路径问题 (?) - 错误代码 ENOENT

Posted

技术标签:

【中文标题】Cordova 安装错误:路径问题 (?) - 错误代码 ENOENT【英文标题】:Cordova installation error: path issue (?) - error code ENOENT 【发布时间】:2016-05-13 10:33:41 【问题描述】:

在安装 Xcode 和 NodeJS 之后,我现在正在尝试安装 Cordova,但我收到以下关于缺少文件的错误(路径错误?)。

Luciens-MacBook-Pro:~ lucientavano$ npm cache clean
Luciens-MacBook-Pro:~ lucientavano$ sudo npm install -g cordova
Password:
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
/usr/local/lib
└── (empty)

npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "cordova"
npm ERR! node v4.2.6
npm ERR! npm  v3.6.0
npm ERR! path /usr/local/lib/node_modules/.staging/abbrev-ef9cc920
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename

npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/abbrev-ef9cc920' -> '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/abbrev'
npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/abbrev-ef9cc920' -> '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/abbrev'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/lucientavano/npm-debug.log
npm ERR! code 1
Luciens-MacBook-Pro:~ lucientavano$ tail -10 /Users/lucientavano/npm-debug.log
21365 error npm  v3.6.0
21366 error path /usr/local/lib/node_modules/.staging/abbrev-ef9cc920
21367 error code ENOENT
21368 error errno -2
21369 error syscall rename
21370 error enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/abbrev-ef9cc920' -> '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/abbrev'
21371 error enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/abbrev-ef9cc920' -> '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/abbrev'
21371 error enoent This is most likely not a problem with npm itself
21371 error enoent and is related to npm not being able to find a file.
21372 verbose exit [ -2, true ]

您遇到过类似的问题吗?提前感谢您提出的任何建议。

【问题讨论】:

【参考方案1】:

卸载cordova然后安装它对我有用。

cd /usr/local/lib/node_modules/
sudo npm uninstall -g cordova
sudo npm install -g cordova

【讨论】:

在尝试了 6 个小时但没有任何运气后,您的解决方案就像一个魅力 - 谢谢谢谢 :) 虽然原因仍然未知 是的,我也可以确认卸载并再次安装就可以了 也为我工作:)【参考方案2】:

使用 YARN 解决它

sudo npm install -g yarn
yarn install -g cordova

【讨论】:

【参考方案3】:

我曾经在使用其他软件包时遇到过同样的问题。我不得不从这里https://nodejs.org/en/download/ 重新安装节点。对我来说,当我尝试在没有 sudo 的情况下全局安装包时,或者当我使用 ctrc+c 取消某些安装包安装过程时,就会发生这种情况。之后没有办法修复它,只能重新安装节点。我也在使用 mac,现在非常小心地让 npm 完成它的工作......

【讨论】:

谢谢,最初我从 nodejs.org 安装了 Node。所以我卸载它并用brew重新安装它。然后它终于可以正常工作了,我可以安装 Cordova。 在Windows上也遇到过类似的问题,重新安装node.js也解决了。【参考方案4】:

在安装最新的 Apache Cordova(版本 6.0.0)时,我在 Fedora Core 22 上也发现了这个问题,当使用 sudo npm install -g cordova 安装时,问题可能会丢失有关权限检查的内容。

npm ERR! enoent ENOENT, rename '/lib/node_modules/.staging/abbrev-cxxxxxx'

npm ERR! enoent ENOENT, rename '/lib/node_modules/.staging/abbrev-xxxxxxx'

所以以 root 身份运行 (sudo -s) 解决这个问题,然后再次运行 npm install -g cordova,问题就会解决。 (在我的环境中)。

对于我的环境(Fedora core 22)它不需要从 nodejs.org 重新安装节点

【讨论】:

【参考方案5】:

首先卸载cordova: npm uninstall -g cordova 重新安装科尔多瓦 npm install -g cordova

【讨论】:

这与其他答案有何不同?

以上是关于Cordova 安装错误:路径问题 (?) - 错误代码 ENOENT的主要内容,如果未能解决你的问题,请参考以下文章

cordova platform add android报错问题处理

如何将android添加到cordova平台?路径错误?

cordova运行android给出错误“系统找不到指定的路径。”

Cordova - 安装camera插件之后编译错误解决方法!

Cordova 平台添加:无法运行“java -version”

Cordova - 安装camera插件之后编译错误解决方法!