web-dev-qa-db-ja.com

npmの取得:コマンドが見つかりません。 Nodeがすでにインストールされている場合、どのようにNPMを再インストールしますか?NPMはどこに行きましたか?

私は 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だけをインストールすることはオプションではないようですが、 両方を再インストールする簡単な方法 があります。]

17
Rotimi
  1. 稼働中のノードがある場合は、npmを再インストールできます

curl -L https://npmjs.org/install.sh | Sudo sh

  1. 残念ながらnpm update -gは誰もが期待することをしません。これの修正はnpmロードマップにありますが、しばらく時間がかかります。

  2. generator-angularまたはgrunt-cliのように)パッケージをコマンドとして使用したくない場合を除いて、パッケージをグローバルにインストールする必要はほとんどありません。

41
Sam Mikes

Brewでこれを実行した場合に備えて、githubでこの記事をお勧めします。多くの時間を節約できます。

https://Gist.github.com/DanHerbert/9520689

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"
4
alphapilgrim

redhat 7.1に最新バージョンのnpmをインストールするコマンドを実行した後、まったく同じ問題が発生しました:

    npm install npm@latest -g

いくつかの試みの後、私は解決策を見つけました:

    yum reinstall npm

これがredhat/centosユーザーに役立つことを願っています。

0
Zhi Yuan