Macos “如何修复”;yo:找不到命令";在安装Yeoman之后
按照这些说明,我尝试使用npm安装yeoman两次: 第一次失败后,我使用以下说明卸载了节点: 然后,我安装了nvm和node/npm(通过nvm),但有一个错误:Macos “如何修复”;yo:找不到命令";在安装Yeoman之后,macos,node.js,npm,osx-mountain-lion,yeoman,Macos,Node.js,Npm,Osx Mountain Lion,Yeoman,按照这些说明,我尝试使用npm安装yeoman两次: 第一次失败后,我使用以下说明卸载了节点: 然后,我安装了nvm和node/npm(通过nvm),但有一个错误: [Yeoman Doctor] Uh oh, I found potential errors on your machine --------------- [Error] NPM root value is not in your NODE_PATH [info] NODE_PATH = /Users/joann
[Yeoman Doctor] Uh oh, I found potential errors on your machine
---------------
[Error] NPM root value is not in your NODE_PATH
[info]
NODE_PATH = /Users/joanna/.nvm/v0.10.22/lib/node_modules:.
NPM root = /Users/joanna/.node/lib/node_modules
[Fix] Append the NPM root value to your NODE_PATH variable
Add this line to your .bashrc
export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules
Or run this command
echo "export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
我粘贴了该命令,然后再次运行npm安装-g yo
在再次按照yeoman网站的指示操作后,它仍然找不到yeoman。我收到这个错误:
-bash:yo:未找到命令
怎么了?约曼医生说:“一切看起来都很好!” 在shell中,键入以下命令:
npm配置设置前缀~/npm
echo“export NODE\u PATH=$NODE\u PATH:/home/$USER/npm/lib/NODE\u modules”>>~/.bashrc&&source~/.bashrc
npm安装-g yo
sudo yo
,Yeoman会明确告诉您这一点
我还尝试了chown-R$USER:$USER/usr/local
,以及chmod-R/USER/local+rw
,但这些都没有帮助
请记住,以前安装在/usr/local中的节点模块(yo生成器也是节点模块)可能不再可用,需要重新安装。尝试上述建议后,我注意到yeoman已按预期安装在
/Users/joanna/.node/bin/yo
中。我在/usr/local/bin
中设置了yo、grunt和bower的符号链接
ln -s /Users/joanna/.node/bin/yo /usr/local/bin/yo
ln -s /Users/joanna/.node/bin/grunt /usr/local/bin/grunt
ln -s /Users/joanna/.node/bin/bower /usr/local/bin/bower
现在一切正常,但我担心这些链接可能会在将来引起问题。有更好的解决方案吗?我所需要做的就是将这一行添加到
.bash\u profile
export PATH=“$PATH”:~/.node/bin
您可以执行该命令以自动添加:
printf”\nexport PATH=\“\$PATH\”:%s\n“~/.node/bin>~/.bash\u配置文件
在OSX10.9、10.10、10.11和Ubuntu14.04上测试,问题的根源在于您在同时使用NVM时设置了节点路径。当您使用NVM时,您根本不应该有NODE_PATH变量,因为NVM在其特定于版本的根目录中安装全局包 删除节点_路径中的所有包,删除环境变量,然后安装yo和生成器或所需的任何其他全局包。您将看到它停止抱怨,所有内容最终都会出现在与当前版本匹配的nvm子目录中 在NVM中开始使用其他节点版本时,请重新安装全局软件包。这将使每件事都按版本整齐地组织起来,就像它的本意一样 有关此讨论的更多信息,请单击此处:
对于我来说,在Ubuntu上只有以下几点对我有用 Ubuntu 在Ubuntu 14.04.2上测试 这是使用Ubuntu-trusty-64在VirtualBox上基本安装的Ubuntu 14.04.2 我刚刚安装了node和npm fresh,它们工作得很好
npm install -y -g yo
echo export PATH="$HOME/npm/bin:$PATH" >> ~/.bashrc
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
npm install -y -g yo
是的,我必须安装yeoman,修复路径问题,然后重新安装yeoman
上面是Oleg Tikhonov和bfred的解释。我使用了:
$HOME/npm/bin
而且很有效
在MAC OSX中,我使用的是OS X 10.11.1,steve提到的代码也适用于我
npm install -y -g yo
echo export PATH="$HOME/npm/bin:$PATH" >> ~/.bashrc
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
npm install -y -g yo
检查
npm
的安装位置:
where npm
运行上述命令将列出npm
所在的目录,如下所示:
/usr/local/Cellar/node/5.1.0/libexec/npm/bin/npm
将路径复制到bin
文件夹,并将其导出为path
变量,如下所示:
export PATH=$PATH:/usr/local/Cellar/node/5.1.0/libexec/npm/bin
就我而言,我必须执行:
npm config delete prefix
然后设置一个nvm版本
nvm use 8
这个错误表明NPM路径和节点路径应该是smaeThanks,非常适合你的建议。我尝试了你的建议,我已经确认我的$NODE_路径和我的NPM根是相等的。(我在Mac上,因此值与您给出的值略有不同。
$NODE\u PATH
和npm config get prefix
都是/Users/joanna/.NODE/lib/NODE\u模块
)。我已尝试重新安装Yeoman,但仍然没有找到yo:command
。有什么想法吗?按照这个提示,没有骰子,还是哟:找不到命令…:(为我工作。谢谢!工作得很有魅力!感谢所有运行Linux的人的简短提示。您可能需要将路径更改为以下内容:ln-s/home/joanna/.node/bin/yo/usr/local/bin/yo。在OSX上,我的路径如下:export PATH=${PATH}:~/.node/bin
并且不要忘了重新启动提示以使更改生效。@nilsi AFAIK它也会执行相同的操作;您的操作只是使用不同的字符串插值方法。如果在调用“npm install-y-g yo”时出现任何错误,请按照建议运行“sudo npm install-y-g yo”.在这之后不得不重新安装溜溜球,但效果很好