BETA

nodistのインストールで躓いた話

投稿日:2018-11-23
最終更新:2018-11-23

UdemyでElectronの講座見始めました。
JavaScript+HTML:Electronでつくるローカルアプリ実例講座 for Windows

講座の進行通り、nodist入れてやんよ!
と、意気揚々にインストールしたら色々躓いたのでまとめます。

使用するNode.jsのバージョン設定が反映されない

せっかくだしLTSのバージョンを追加してデフォルトにしてみようと思い、
コマンド叩けどnode -vの結果が古いバージョンのまま。
原因は過去に単独で入れたNode.jsのようで、こちらをアンインストール後に
再度nodistをインストールしたら解消しました。

npmのアップグレードに失敗する

nodistでNode.jsを最新版にしてもnpmは対応バージョンにならないので、
nodist npm matchでアップグレードを試みる。

と、ここで躓いた。

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)

Failed to read response…ってことは、URL間違ってる?
と思いググると、同じ現象について記事にしている方がおられました。

nodistでnpm6.2.0以降にアップデート出来なかった話

記事の通り、nodistインストール先のlibディレクトリ内にあるnpm.jsを修正。

NPMIST.downloadUrl = function(version){
  return 'https://codeload.github.com/npm/cli/tar.gz/vVERSION'
    .replace('VERSION',version.replace('v',''));
};

先程nodist npm matchした際にできたディレクトリを削除後、もう一度チャンレンジ。

nodist npm match
npm match
https://codeload.github.com/npm/cli/tar.gz/v6.4.1 [===========    ] 3890/5150 KiB 76% 7.3s

npm -v
6.4.1

無事インストール完了!

まとめ

躓いたらググるの大事やな…って再確認しました。
記事主様に感謝。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

~初心者だけど頑張ってアウトプットします~

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう