我正在发现Yeoman,我尝试安装一个简单的生成器,如Yeoman的"入门"部分所示。
我安装了 npm 然后哟和鲍尔,如文档中解释的那样:
npm install -g yo bower
当我尝试安装生成器网络应用程序和生成器弹簧(sudo npm install -g generator-webapp
)时,我在两种情况下都会得到以下输出:
[...]
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/es6-iterator
npm http 304 https://registry.npmjs.org/es6-symbol
npm ERR! peerinvalid The package yo does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-mocha@0.1.6 wants yo@>=1.0.0
npm ERR! peerinvalid Peer generator-spring@0.1.2 wants yo@>=1.0.0-rc.1
npm ERR! peerinvalid Peer generator-webapp@0.5.1 wants yo@>=1.2.0
npm ERR! System Linux 3.11.0-12-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "generator-webapp"
npm ERR! cwd /home/adenoyelle
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! code EPEERINVALID
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/adenoyelle/npm-debug.log
npm ERR! not ok code 0
因此,我查看了yo版本的:
~ [ sudo npm update -g yo
npm http GET https://registry.npmjs.org/yo
npm http 304 https://registry.npmjs.org/yo
~ [ yo -version
1.1.2
所以,我有几个问题:
- 为什么Yo的版本坚持到1.1.2(似乎存在1.3.3版本)
- 为什么当我问发电机弹簧时,Yo也尝试获取generator-webapp?generator-spring只需要Yo 1..0.0-rc.1,所以它应该可以工作。
这也发生在我身上。我不知道它出现一些问题的原因,甚至尝试通过分离来安装任何依赖项。
无论如何,在花费了几个小时安装、重新配置、清理缓存、谷歌搜索等之后,我为解决这个问题所做的基本上是更新 nodejs。
我在Linux Mint上,那么Ubuntu和Debian应该是相同或相似的。
综上所述,
之前安装 nvm
nvm ls-remote
nvm install 0.12.0
nvm use 0.12.0
node -v
npm install -g generator-webapp
npm install -g yo bower grunt-cli gulp
我建议使用 nvm 来更新节点,您可以按照本指南或教程进行操作
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server#how-to-install-using-nvm
之后,我能够毫无问题地安装 yo 及其依赖项。
顺便说一下,我选择了版本节点v0.12.0
希望这个帮助