Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos “如何修复”;yo:找不到命令";在安装Yeoman之后_Macos_Node.js_Npm_Osx Mountain Lion_Yeoman - Fatal编程技术网

Macos “如何修复”;yo:找不到命令";在安装Yeoman之后

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

按照这些说明,我尝试使用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/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

  • 然后重新安装Yeoman:

    npm安装-g yo

  • 那么一切都会好起来的

    说明:

    有一个类似的情况,除了yo命令没有工作,但任何安装的发电机安装后没有出现,这解决了问题

    问题是您的npm路径设置为/usr/local,这是一个需要root/sudo权限的目录,因为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”.在这之后不得不重新安装溜溜球,但效果很好