2013-08-28 52 views

回答

5

这个问题似乎是科尔多瓦在DOS格式

一旦我把它转化为它似乎工作的Unix格式。 我没有得到env:node \ r:没有这样的文件或目录错误。

我用DOS2UNIX的做出改变 https://code.google.com/p/rudix/downloads/detail?name=dos2unix-5.3.3-0.pkg

在我的机器在科尔多瓦文件实际上是在USR/local/lib目录/ node_modules /科尔多瓦/斌/科尔多瓦

+0

我认为他们修正了这个bug,因此,如果你得到最新版本应该没问题。 – Leo

+0

谢谢。我的问题来自GIT,但你的回答有助于理解它是来自一个结束不幸的坏行。下面我添加了我的解决方案 – Yahel

4

在我的Mac OS X.

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

这让科尔多瓦和节点无法编译错误的项目:

ENV:节点\ R:这是对AUTOCRLF我没有这样的文件或目录

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

git config --global core.autocrlf input

然后,我不得不删除的项目,并从GIT重新克隆它和它的工作就像一个魅力。

+0

它也适用于我,谢谢! –

+0

发现这是最简单/最全面的解决方案。运行该配置命令,recloned该项目,一切正常。 – stephennmcdonald

11

解决方案:

$ brew install dos2unix 
$ find /usr/local/lib/node_modules -name "*.js" | xargs sudo dos2unix 

详情:

为OP的问题是做混帐,但我考虑了一下提了大部分的速战速决的情况下

如果Node尝试执行具有窗口样式行结尾的.js文件,则会显示问题。问题可能来自具有.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 

瓦拉。 。

+0

这应该是最高票数的答案。 –

+0

下面是问题线程:https://github.com/npm/npm/issues/4607 –

0

对于我的问题是在安装一饮而尽库文件:

'/node_modules/gulp/bin/gulp.js'

它有 '\ r' 在“结束#在/ usr/bin/env节点'行。版本:

“github上:gulpjs /吞掉#4.0”

它被固定设置:

git config --global core.autocrlf input

和重装库

相关问题