Node.js
npm
nodist

npmのバージョンを変える

npmバージョンを今の5.5.1からダウングレードしたいのに出来ない事象が起きたのでまとめる

〇事象

ある本のマニュアルに従いサンプルアプリを作っている時、bootstrapをインストールの指定があったので実施したところ、
can not find property "0" od underdefinedと怒られる。

ググったところnpmバージョンが5.3.0だと発生します的なコメントがあったので、ひとまず5.2.0に落とすべくnpm install npm@5.2.0する。

しかし、npm -vするとまだ5.5.1のまま、なぜか分からない、、、、

1.png

いろいろ調べた結果、下記の方法でひとまず解決。

対策

まずProgram Files(x86)>Nodist>npmvに入る

8.png

npmのGithubのReleaseへアクセスし、適当なバージョンをダウンロード。

9.png

ダウンロードしたファイルをnpmvへ格納(ここで間違えてエラーになると言われている5.3.0をダウンロードしてしまう、、、)。4.0.5はなぜか元々ありました、以前ダウンロードしたのかもしれません、覚えていませんが、、

3.png

コマンドプロンプトを開き、nodist npmで使えるバージョンに4.0.5と5.3.0がある事を確認。nodist npm 5.3.0と実行すると、npmのバージョンが切り替わる。

4.png

ここでnodist npm...と打ち込むのが肝だったみたいです。

最初に戻ってbootstrapをインストールしたいフォルダで念のためもう一度npmバージョンを確認。5.3.0になっている事を確かめた上で、bootstrapをインストールしようとすると、、、、再度同じエラー(can not find...)。5.3.0なので当たり前。

5.png

コマンドプロンプトへ戻り、npmのバージョンを4.0.5へ落とす。

6.png

またまたbootstrapをインストールしたフォルダに戻り再度チャレンジ。

7.png

いろいろwarningは出されましたが、bootstrapのインストールは成功。

そもそもなぜcan not find 0...と出るのか?本当に5.3.0以降のバージョンだからなのか?もしbootstrapのバージョンが古くて噛み合っていないならbootstrapをアップデートすればよかったのか?そのあたりを調べるのは面倒なので、ここまでとします。