npmを更新したいのですが、2つのバージョンがあるようですが、解決方法がわかりません。npmは古いバージョンでスタックしていますが、複数のバージョンがあるようです
私の主な問題は、今私が
、
/Users/me/.npm-packages/lib/node_modules/
で一部の古いヨーマン・ジェネレータを持っているが、新しいものは私がyo
を実行すると、それだけで古い発電機を見つけることだ /Users/me/.npm-global/lib/node_modules/
に入ってきました。
グローバルにインストールされたすべてのパッケージを1人のユーザーの下の1か所に置いておきたいと思っています。
ノードが/Users/me/.npm-packages/bin/npm
にあり、おそらくは/usr/local/bin/npm
にあるようです。私は両方のディレクトリに行って、両方でnpmを更新しましたが、インストールしていると主張している3.8.6ではなく、2.11.2を返します。ここで私が修正しようとするために行われてきたいくつかのCLIingは次のとおりです。
➜ ~ which npm
/Users/me/.npm-packages/bin/npm
➜ ~ sudo which npm
/Users/me/.npm-packages/bin/npm
➜ ~ npm install [email protected]
[email protected] node_modules/npm
➜ ~ npm -v
2.11.2
➜ ~ npm install -g [email protected]
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/Users/me/.npm-packages/bin/npm" "install" "-g" "[email protected]"
npm ERR! node v5.10.1
npm ERR! npm v2.11.2
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rmdir
..etc
➜ ~ sudo npm install -g [email protected]
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm
➜ ~ npm -v
2.11.2
説明したように、私はまた、NVMを設置し、その中にNPMの最新バージョンをインストールしてみましたhere
マイ.zshrc
はに設定PATH変数があります。
NPM_PACKAGES=/Users/me/.npm-packages
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
PATH="$NPM_PACKAGES/bin:$PATH"
現在のノードを使用し、私のパッケージがどこにあるのかを標準化して、すべてを吹き飛ばして正常に動作するようにします。これを期待するのは、Iよりもこのことについてもっと知っている人のために診断することです。
グローバルインストールの方が快適でしょうか? 両方のバージョンをインストールする必要がありますか? – pandres95
2つのグローバルバージョンをインストールしたかったことは一度もありませんでした。主なことは、私がrootではなく私が所有しているかどうかを確認したいということです。必要なものがあれば、私はグローバルなものを行うために 'sudo'する必要はありません。 – Damon
多分あなたはグローバルにインストールされたバージョンを使用しています。しかし、グローバルパッケージレジスター( 'NPM_PACKAGES'変数)はユーザーの中にあります。ことはできないし、 'sudo npm i -g npm @ latest'です。その後、ローカルの 'NPM_PACKAGES'変数を再び有効にします。 – pandres95