env:noder:使用cordova cli时没有这样的文件或目录



当尝试在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尝试执行具有windows样式行结尾的.js文件,问题就会出现。问题可能来自具有此类.js文件的第三方npm包。

正如@Leo提到的Dos2Unix就是答案,以下是我尝试安装Slack cli 时的一个示例情况的命令链

> npm install -g slack-cli
> slackcli
env: noder: 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:没有这样的文件或目录错误。

我使用dos2unix进行了更改https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg

在我的机器上,cordova文件实际上位于/usr/local/lib/node_modules/codova/bin/cordova

在我的Mac OS X上。

我刚刚遇到了同样的问题:我的文件的行尾改为CRLF(windows)而不是LS(unix)。

这使得Cordova和Node无法编译项目,并出现错误:

env:node\r:没有这样的文件或目录

罪魁祸首是AUTOCRLF上的GIT,我不知道为什么。我在终端中运行了以下命令:

git config --global core.autocrlf input

然后我不得不删除这个项目,并从GIT中重新获得它,它就像一个魅力。

对我来说,问题是在文件中安装的gump库中

'/nod_modules/gulp/bin/gulp.js'

它在'#/"usr/bin/env node"行。版本:

"github:gulljs/gulp#4.0"

它是通过设置修复的:

git config --global core.autocrlf input

以及重新加载存储库

在我的案例中,解决方案是使用sudo(ubuntu 20.04)运行cordova

相关内容

  • 没有找到相关文章

最新更新