私は AngularJSチュートリアルを使用して最新のWebアプリを構築する方法を学ぶ を開始し、非常に早い段階で問題に直面しています。
ノードをインストールしました:
/path/ang-news node -v
v0.10.26
私は以前NPMを使用していましたが、Yeomanで問題が発生していました。しばらく前にこれらの手順を繰り返しましたが、Gruntが機能しなくなったので、最初からやり直しました。
私が走った:
$ Sudo npm install -g generator-angular
そして、私が受け取るまで、すべての依存関係がインストールされていました:
npm WARN package.json [email protected] No repository field.
npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] 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がインストールされるので、2番目の質問は、「NPMだけを再インストールするにはどうすればよいですか?再インストールするNode最初から。
[編集:@hawkおよび@ try-catch-finallyへの称賛-NPMだけをインストールすることはオプションではないようですが、 両方を再インストールする簡単な方法 があります。]
curl -L https://npmjs.org/install.sh | Sudo sh
残念ながらnpm update -g
は誰もが期待することをしません。これの修正はnpmロードマップにありますが、しばらく時間がかかります。
(generator-angular
またはgrunt-cli
のように)パッケージをコマンドとして使用したくない場合を除いて、パッケージをグローバルにインストールする必要はほとんどありません。
Brewでこれを実行した場合に備えて、githubでこの記事をお勧めします。多くの時間を節約できます。
Mac OS XでHomebrewユーザー向けにnpmを修正する次のコマンドを実行して、既存のグローバルnpmモジュールをすべて削除し、nodeとnpmをアンインストールし、適切なデフォルトでノードを再インストールし、npmを独自のパッケージとしてインストールし、グローバルnpmモジュールの場所を構成します。インストールされます。
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.node >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
この時点で、Nodeとnpmは正しくインストールされているはずです。最後のステップは〜/ .node/binをPATHに追加して、グローバルにインストールするコマンドが使用できるようにすることです。この行を〜/ .bash_profileを介して実行される〜/ .pathスクリプトに追加しました。次の行をそのまま実行します。
export PATH="$HOME/.node/bin:$PATH"
redhat 7.1に最新バージョンのnpmをインストールするコマンドを実行した後、まったく同じ問題が発生しました:
npm install npm@latest -g
いくつかの試みの後、私は解決策を見つけました:
yum reinstall npm
これがredhat/centosユーザーに役立つことを願っています。