Yeoman安装/节点path的问题?

几天前,采取了一个项目,使用yeoman的暴跌。 经过一番捣鼓之后,我把它运行在我的电脑上,但是之后一些东西搞砸了,现在这个项目不再运行了。 我认为这个问题与yeoman安装在一个地方有关,但系统在另一个地方寻找它。 我想,但显然,我不完全知道事情出了什么问题。

我认为这两个地点是:

Users/brian/ usr/local/lib usr/local/bin 

我不知道应该为Yeoman安装什么东西。 我意识到,最初,我使用sudo来安装东西,这可能已经搞砸了一些东西,或者我正在使用自制软件。 我已经卸载了自制软件,不再需要使用sudo来安装nom。

 $ node -v 

v0.10.22

 $ npm -v 

1.3.14

 $ echo $NODE_PATH 

什么也不返回

 $ echo $PATH /Users/brian/.rvm/gems/ruby-2.0.0-p0/bin:/Users/brian/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/brian/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/brian/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin $ which npm 

返回/ usr / local / bin / npm

 $ npm install -g yo 

似乎安装很好,最后说:

 /usr/local/bin/yo -> /usr/local/lib/node_modules/yo/bin/yo yo@1.0.5 /usr/local/lib/node_modules/yo 

但是如果你在运行之后运行yo -v:env:node \ r:没有这样的文件或目录

如果我运行:

 sudo nano /etc/paths 

它显示了以下path,其中我添加了最后一个path:

 /usr/bin /bin /usr/sbins /usr/local/bin /usr/local/bin/npm 

我在很多地方都有node_modules文件夹。

 Users/brian/node_modules usr/local/lib/node_modules 

和其他一些地方。

事情出错了 npm安装yeoman的东西在哪里,系统如何引用它,所以它知道它在哪里,当我写东西像$ yo -v

非常感谢您的帮助。

谢谢!

yo 1.0.5发布有一个问题。 尝试一些其他用户的解决scheme 。 基本上:

 $ npm uninstall -g yo $ npm cache clean $ npm install -g yo 

在更改了全局节点安装的默认目录后,我遇到了同样的问题。 这里我解决了这个问题:

从terminaltypes:

 $ which yo 

在你的情况下,path看起来像(或类似的)

 /Users/brian/npm/bin/yo 

现在,您只需将此path/Users/brian/npm/bin/.bash_profile文件中的$PATHvariables即可。 然后注销并重新login并键入yo

感谢Bartvds( https://github.com/yeoman/yeoman/issues/1236

这个问题的原因是因为windows和* nix机器之间的行结束符的区别。

在调用节点的时候,用shebang的CLI文件,这个行结束符是引起问题。

 #! /usr/bin/env node 

你可以使用dos2unix实用程序将这个文件转换为* nix友好的格式,它应该可以正常工作

这个问题并不是孤军奋战的! 我最近遇到了与同types的节点包相同的问题