尝试在OSX上运行cordova cli时出错了,
错误信息为:env: node\r: 没有那个文件或目录。
我从npm获取了最新版本的cordova,所以我认为它是3.0.7。
错误信息为: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尝试执行具有Windows样式行结尾的.js
文件,则会出现问题。这个问题可能来自第三方npm包,其中包括那种.js
文件。
就像@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
嗨..
罪魁祸首是AUTOCRLF的GIT,我不知道为什么会这样。我在终端中运行了以下命令:env: node\r: No such file or directory
git config --global core.autocrlf input
对我来说,问题出在安装的gulp库文件中:
'/node_modules/gulp/bin/gulp.js'
在“#!/usr/bin/env node”这一行的末尾有 '\r'。版本:
"github:gulpjs/gulp#4.0"
通过设置以下命令来解决问题:
git config --global core.autocrlf input
然后重新加载存储库。