nodistでnpmがアップデートできなくなった時の解決方法

久しぶりにWindows OSでNode.jsを触ろうと、古いバージョンをアップデートしようしたらエラーに遭遇。nodistでnode.jsはアップデートできたけれど、npmのアップデートがうまくいきませんでした。

# nodist 10.16.0
10.16.0
Default global pacakge update successful.
# nodist 10.16.0
# npm --version
Sorry, there's a problem with nodist. Couldn't resolve npm version spec match : Couldn't find any matching version

 

いろいろ試してみると、気になるエラーを発見。

# nodist npm global 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.9.0
    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)

 

https://codeload.github.com/npm/npm/tar.gz/v6.9.0からのレスポンスがなく、npmのアップデートが滞ってしまっているようです。

解決方法

gitリポジトリが移動しているので正しいURLを指定します。編集するのはC:\Program Files (x86)\Nodist\lib\npm.jsです。ダウンロードURLを制御している箇所があるので、

https://codeload.github.com/npm/npm/tar.gz/vVERSION

https://codeload.github.com/npm/cli/tar.gz/vVERSION

に変えてあげます。

/**
* Get a download URL for the version
* @param {string} version
* @return {string}
*/
NPMIST.downloadUrl = function(version){
  return 'https://codeload.github.com/npm/cli/tar.gz/vVERSION'
  .replace('VERSION',version.replace('v',''));
};

 

改めてnpmのアップデートを実行すると、正しく動作するようになりました。

# nodist npm global match
npm match
https://codeload.github.com/npm/cli/tar.gz/v6.9.0 [===============] 5475/5631 KiB 97% 0.3s

Related Posts