env:节点\r:没有这样的文件或目录与cordova CLI

mkh04yzy  于 2023-05-18  发布在  其他
关注(0)|答案(5)|浏览(188)

当尝试在OSX上运行cordova cli时,出现错误
env:节点\r:没有这样的文件或目录
我从npm得到了cordova的最新版本,所以我认为它是3.0.7

ruarlubt

ruarlubt1#

解决方案:

$ 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

瓦拉..

bhmjp9jg

bhmjp9jg2#

问题似乎是 cordova 是DOS格式的
一旦我把它转换成Unix,它似乎工作。我不知道env:node\r:没有这样的文件或目录错误。
我使用dos 2unix进行更改https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg
在我的机器上,cordova文件实际上在usr/local/lib/node_modules/cordova/bin/cordova中

w6mmgewl

w6mmgewl3#

在Mac OS X上。
我刚刚遇到了同样的问题:我的文件的行尾改为CRLF(windows)而不是LS(unix)。
它使Cordova和Node无法编译项目,错误如下:
env:节点\r:没有这样的文件或目录
罪犯是GIT,它是在AUTOCRLF,我不知道为什么。我在终端中运行了以下命令:
git config --global core.autocrlf input
然后我不得不删除项目并从GIT中重新克隆它,它就像一个魅力。

lrl1mhuk

lrl1mhuk4#

对我来说,问题是在安装的gulp库中的文件:
'/node_modules/gulp/bin/gulp.js'
它在'#!/usr/bin/env节点'行。版本:
“github:gulpjs/gulp#4.0”
已通过设置修复:
git config --global core.autocrlf input
和重新加载存储库

7kqas0il

7kqas0il5#

在我的例子中,解决方案是用sudo(ubuntu20.04)运行Cordova

相关问题