web-dev-qa-db-ja.com

nvm ls-remoteコマンドの結果は「N / A」になります

Node nvmでインストールしようとしていますが、バージョンを入力しても使用できません。nvm ls-remoteと入力すると、 "N/A"が表示されます。

インターネットにアクセスできるので、何が起こっているのかわかりません。

44
eComEvo

nvm.shを保守しているLJHarbからのコメントで更新

LJHarbは、これを引き起こす典型的な問題は、「システムにインストールされているSSL認証局が古くなっている」ことであると示唆しています。これを確認し、これを修正しようとすると、より良い最初のステップになります。

Nvm.sh側に問題があると思われる場合、LJHarbは、ユーザーが nvm.shの課題追跡 にバグを報告するよう求めます。

コメントセクションに元のテキストを表示してください。

また、以下のソリューションは、本当にバインドされている場合に一時的にのみ使用される回避策として意図されていることを指摘したいと思います。エクスポートされたミラーまたはnvm.shスクリプト自体を永続的に変更することはお勧めしません。

編集:簡単な修正が見つかりました

ものを取得するために使用するミラーのhttps以外のバージョンをエクスポートできます。

export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist

その後、nvmは動作します

事前編集

今、同じ問題を抱えていました。

お使いのシステムで利用可能な場合、デフォルトでcurlを使用しようとします。

私もあなたがLinuxを使用していると仮定しているので、curl $NVM_NODEJS_ORG_MIRRORを実行してみて、私がやったのと同じエラーが表示されるかどうかを確認してください。

curl: (77) error setting certificate verify locations:
  CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none

証明書の有効期限が切れているか、誤って設定されている(または誰かがやっかいなことをしている)可能性があります。セキュリティ問題を回避しても構わない場合は、nvm.shファイルを見つけることができます(~/.nvm/nvm.shにあるはずです)インストール情報に従ってください)、カールの後に17行目に-kを追加できるため、次のようになります。

-- nvm.sh --
nvm_download() {
16  if nvm_has "curl"; then
17    curl -k $*
18  Elif nvm_has "wget"; then
19    # Emulate curl with wget
...
}

シェルを再起動することを忘れずに、nvm ls-remoteを試してください。修正が機能したと仮定すると、nvmを使用できるようになります。

79

ほとんどの場合、これはcurlがhttps URLの証明書を使用できないために発生します(curl $NVM_NODEJS_ORG_MIRRORで検証します)。回避策としてhttp URLを使用する代わりに、curlを修正する方がIMOの方がはるかに優れています。

ca-certificatesパッケージがインストールされていると仮定して、次の行を.bashrcに追加します( source1source2 ):

export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
15
Gerhard Burger

URLの末尾に「/」がないため、301が永続的に移動しました。したがって、nvm.shのリンクを

http://nodejs.org/dist

http://nodejs.org/dist/

動作します。

8
holdfenytolvaj

Nvm behideプロキシを使用している場合、proxy configをcurlに設定する必要があります

ファイルを編集または作成します〜/ .curlrcそしてこの行をプロキシに追加します

echo 'proxy=http://<proxy-user>:<proxy-pass>@<proxy-url>:<proxy-port>' >> ~/.curlrc

プロキシがユーザーとパスワードを必要としない場合、それを使用できます:

echo 'proxy=http:<proxy-url>:<proxy-port>' >> ~/.curlrc
1
Clairton Luz

私はこれと同じ問題を抱えていましたが、他の解決策はどれも助けませんでした。 curl -v $NVM_NODEJS_ORG_MIRROR/はTLS 1.2を示し、証明書に問題はありませんでした。私が試したときwhich curl、PATHにanaconda3/binディレクトリがあり、それが独自のcurlバージョンであることがわかりました(なぜ必要なのかわかりません)。パスを修正したら、nvm ls-remoteうまくいきました。これが他の誰かのフラストレーションを軽減するのに役立つことを願っています。

0
Matt Olsen

Windows 7でVirtual Box 4.3.30の下でUbuntu 14.04ボックスを実行しているVagrant 1.7.1を使用しているときに、この問題に遭遇しました。上記の提案を試してもうまくいきませんでした。私はこの投稿を見つけました ここ それは実行しようとしたときに得ていたCurlエラーに関連していました:_curl $NVM_NODEJS_ORG_MIRROR_エラーは次のとおりでした:curl: (7) Couldn't connect to serverその投稿で提案し、vagrant reload_でVagrantボックスを再起動すると、_nvm ls-remote_を実行して、ノードのバージョンのリストを表示してインストールできました。浮浪者ボックスで私がしたことは次のとおりです:_cd /etc/_

_Sudo nano hosts
_

変更された127.0.0.1 localhost

に:

0.0.0.0 localhost

これが同じ問題を抱えている人に役立つことを願っています。ありがとう@ Truong Nguyen

0
seamonkey

私にとって、これはうまくいく

nvm alias default nodeは、インストールされた最新のNodeバージョン(8.11.1))で「デフォルト」を指します。

0
Anil Yadav