尝试在 OSX 上运行 cordova cli 时出现错误
env: node\r: 没有这样的文件或目录
我从 npm 获得了最新版本的 cordova,所以我认为它是 3.0.7
尝试在 OSX 上运行 cordova cli 时出现错误
env: node\r: 没有这样的文件或目录
我从 npm 获得了最新版本的 cordova,所以我认为它是 3.0.7
解决方案:
$ brew install dos2unix
$ find /usr/local/lib/node_modules -name "*.js" | xargs sudo dos2unix
细节:
OP 的问题与 Git 有关,但是我花一点时间来提及大多数情况下的快速修复
如果 Node 尝试执行.js
具有 windows 样式行结尾的文件,则会出现此问题。.js
问题可能来自具有此类文件的第三方 npm 包。
正如@Leo 提到的那样, Dos2Unix是答案,这是我尝试安装Slack-cli时示例情况的命令链
> npm install -g slack-cli
> slackcli
env: node\r: No such file or directory
修复看起来像
> brew install dos2unix
> find /usr/local/lib/node_modules/slack-cli -name "*.js" | xargs sudo dos2unix
> slackcli --help
瓦拉..
问题似乎是cordova是dos格式
一旦我将它转换为 Unix 格式,它似乎就可以工作了。我没有得到 env: node\r: No such file or directory 错误。
我使用 dos2unix 进行更改 https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg
在我的机器上,cordova 文件实际上位于 usr/local/lib/node_modules/cordova/bin/cordova
在我的 Mac OS X 上。
我刚刚遇到了同样的问题:我的文件的行尾更改为 CRLF(windows) 而不是 LS(unix)。
它使 Cordova 和 Node 无法编译项目并出现以下错误:
env: node\r: 没有这样的文件或目录
罪魁祸首是 AUTOCRLF 上的 GIT,我不知道为什么。我在终端中运行了以下命令:
git config --global core.autocrlf input
然后我不得不删除该项目并从 GIT 中重新克隆它,它就像一个魅力。
对我来说,问题出在文件中安装的 gulp 库中:
'/node_modules/gulp/bin/gulp.js'
它在 '#!/usr/bin/env node' 行的末尾有 '\r'。版本:
“github:gulpjs/gulp#4.0”
它是通过设置修复的:
git config --global core.autocrlf input
并重新加载存储库