问题 安装yeoman时出错


我想在我的ubuntu v16.4 LTS上安装你,但我收到这个错误:

npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "yo"
npm ERR! node v6.2.0
npm ERR! npm  v3.9.0
npm ERR! path /usr/local/lib/node_modules/yo/lib/cli.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/yo/lib/cli.js'
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/yo/lib/cli.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /home/momor1/npm-debug.log

如你所见,我有最新的npm和nodejs,我处于root模式,所以我仍然不明白它为什么抛出这个错误。请帮忙:)


7648
2018-05-18 10:23


起源

stackoverflow.com/q/17990647/297087 - Salil
我试过@Salil - Kob_24
好吧,我也得到同样的错误:(如果您解决了问题,请告诉我。 - Salil
我在OS X 10.11.5(El Capitan)上遇到与Node 4.4.4和nam 3.9.0相同的错误。从中清除安装 node-v4.4.4.pkg。 - Christian Junk
显然,这是一个尚未修复的错误: github.com/yeoman/yo/issues/437 - little pootis


答案:


当您尝试安装今天发布的最新版本(2016/04/18)时,似乎会发生此错误: 1.8.2

请尝试安装 以前 版:

sudo npm install -g yo@1.8.1

这对我现在很有用。使用OS X El Capitan v10.11.2,节点4.4.4和npm 3.9.0以及使用OS X 10.11.5的开发人员计算机上的干净虚拟机进行了测试。


12
2018-05-18 11:50



实际上对我来说还是一样的.. - Kob_24
这对我有用。 - shift_a
这对我有用。 @ Kob_24试试 npm cache clean 第一?我能够在我的构建服务器上确认一旦yo包从1.8.1升级到1.8.2就会出现问题 - OnResolve
即使我做npm缓存清理,我仍然会得到相同的结果,你是如何从18.1升级到1.8.2的? - Kob_24
YSK用sudo安装npm模块被认为是个坏主意;这是解决它的说明 competa.com/blog/2014/12/how-to-run-npm-without-sudo - jcollum


感谢@jcollum帮助我找到解决方案,问题就在于此 yo 需要在sudo模式下安装一些插件(这是不可能的,因为安装是由你自动安装的)。将npm的前缀设置为 home 将解决每次需要安装新包时使用sudo的问题。只需按照本教程,您就可以安装 yo@1.8.3。最好的运气 http://www.competa.com/blog/2014/12/how-to-run-npm-without-sudo/


0
2018-05-19 08:19