我开始使用 AngularJS 教程学习构建现代 Web 应用程序,并且很早就遇到了问题。
我安装了节点:
/path/ang-news node -v
v0.10.26
我之前使用过 NPM,但在使用 Yeoman 时遇到了麻烦。不久前我重复了这些步骤,但 Grunt 停止了工作,所以我重新开始。
我跑了:
$ sudo npm install -g generator-angular
并且所有依赖项都在安装,直到我收到:
npm WARN package.json mongo@0.1.0 No repository field.
npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-angular@0.9.1 wants generator-karma@>=0.8.2
然后我尝试更新:
$ npm update -g
我应该以管理员身份运行它。我收到了大量错误消息,这似乎是最相关的:
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.1.0
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "update" "-g"
npm ERR! cwd /path/ang-news
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! not ok code 0
然后我尝试卸载 generator-karma 并重新开始:
$ sudo npm uninstall -g generator-karma
但收到:
sudo: npm: command not found
$ npm -v
-bash: /usr/local/bin/npm: No such file or directory
我的第一个问题是:为什么 NPM 突然消失了?
[编辑:感谢@try-catch-finally 指出在发出命令时在普通用户和 sudo 之间切换时产生的破坏。原来我搞砸了我的用户环境,并且不再安装 NPM。]
我的理解是安装Node的时候就安装了NPM,所以我的第二个问题是:如何只重新安装NPM?我不希望从一开始就重新安装 Node。
[编辑:感谢@hawk 和@try-catch-finally - 似乎单独安装 NPM 不是一个选项,但有一些简单的方法可以重新安装两者。]