nodistでnpmを最新版にバージョンアップするには
最新版のNode.jsをインストール
nodist latest
現在のnodeのバージョンにあったnpmを使用する
nodist npm match
追記
「nodist npm match」を実行すると、以下のエラーメッセージが表示されるようになった。
>nodist npm match
npm match
stream.js:74
throw er; // Unhandled stream error in pipe.
^
Error: Failed to read response from https://codeload.github.com/npm/npm/tar.gz/v6.4.1
at Request.<anonymous> (C:\Program Files (x86)\Nodist\lib\build.js:110:25)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestResponse (C:\Program Files (x86)\Nodist\node_modules\request\request.js:954:10)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:473:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at TLSSocket.socketOnData (_http_client.js:362:20)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at TLSSocket.Readable.push (_stream_readable.js:134:10)
at TLSWrap.onread (net.js:551:20)
エラーの原因はダウンロード先のURLが変更になったためらしい。
nodistが対応するまでの間、ソースコードを修正して対策する。
“C:\Program Files (x86)\Nodist\lib\npm.js”をエディタで開き、
127行目のURLを修正する。
NPMIST.downloadUrl = function(version){
// return 'https://codeload.github.com/npm/npm/tar.gz/vVERSION'
return 'https://codeload.github.com/npm/cli/tar.gz/vVERSION'
.replace('VERSION',version.replace('v',''));
};
次に、ダウンロードに失敗したときに作成されたフォルダー(“C:\Program Files (x86)\Nodist\npmv\6.4.1”)を削除する。
これで、もう一度「nodist npm match」を実行するとインストールできる。