nodistでnpmを最新版にバージョンアップするには

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」を実行するとインストールできる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください