Я пытаюсь установить Node с nvm, но когда я печатаю любую версию, она недоступна. Когда я набираю nvm ls-remote
, я просто получаю "N/A".
Я могу получить доступ к Интернету, поэтому я не могу понять, что может происходить.
Я пытаюсь установить Node с nvm, но когда я печатаю любую версию, она недоступна. Когда я набираю nvm ls-remote
, я просто получаю "N/A".
Я могу получить доступ к Интернету, поэтому я не могу понять, что может происходить.
Обновить с комментариями от LJHarb, который поддерживает nvm.sh
LJHarb предполагает, что типичная проблема, вызывающая это, заключается в том, что "установленные в вашей системе сертификаты SSL устарели". Проверка этого и попытка исправить это будет лучшим первым шагом.
В случае, когда вы считаете, что есть проблема на стороне nvm.sh, LJHarb просит, чтобы пользователи регистрировали ошибку в nvm.sh вопросике.
Не стесняйтесь видеть исходный текст в разделе комментариев.
Кроме того, я хотел бы указать, что нижеприведенные решения предназначены для временного решения, которые могут быть использованы временно, если вы действительно привязаны. Постоянное изменение экспортированного зеркала или самого nvm.sh script не рекомендуется.
Изменить: найдено более легкое исправление
Вы можете экспортировать не HTTPS-версию зеркала, которое она использует, чтобы захватить материал:
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
Затем nvm работает
Предварительная настройка
С той же проблемой только сейчас.
Похоже, что по умолчанию он пытается использовать завиток, если он доступен в вашей системе.
Я предполагаю, что вы тоже работаете в 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
если вы следовали за информацией об установке), и вы можете добавить -k
в строке 17 после завитка, так что это выглядит так:
-- 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.
Скорее всего, это вызвано тем, что curl не может использовать сертификаты для URL-адресов https (проверьте с помощью curl $NVM_NODEJS_ORG_MIRROR
). Вместо использования http URL в качестве обходного пути, IMO гораздо лучше исправить curl.
Предполагая, что у вас установлен пакет ca-certificates
, добавьте следующую строку в ваш .bashrc
(source1, source2):
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
Кажется, что//отсутствует в конце URL, поэтому сообщение 301 постоянно перемещается. Так что изменив ссылку в nvm.sh из
в
заставляет это работать.
Если вы используете nvm, посмотрите прокси, вам нужно установить конфигурацию прокси на curl
отредактируйте или создайте файл ~/.curlrc и добавьте эту строку с вашим прокси
echo 'proxy=http://<proxy-user>:<proxy-pass>@<proxy-url>:<proxy-port>' >> ~/.curlrc
если вашему прокси не нужны имя пользователя и пароль, вы можете использовать его:
echo 'proxy=http:<proxy-url>:<proxy-port>' >> ~/.curlrc
Я столкнулся с этой проблемой, когда Vagrant 1.7.1 запускал ящик Ubuntu 14.04 под Virtual Box 4.3.30 в Windows 7. Я пробовал предложения выше, и ничего не работало для меня. Я нашел этот пост более здесь, который был связан с ошибкой Curl, которую я получал при попытке запустить: curl $NVM_NODEJS_ORG_MIRROR
Ошибка: curl: (7) Couldn't connect to server
Я смог следовать предложение на этот пост, а затем, как только я перезапустил свой ящик Vagrant с помощью vagrant reload
, я смог запустить nvm ls-remote
и посмотреть список версий node и установить. Вот что я сделал на бродячем поле: cd /etc/
sudo nano hosts
изменено 127.0.0.1 localhost
в
0.0.0.0 localhost
Надеюсь, это поможет любому, у кого есть такая же проблема. Спасибо @Truong Nguyen
У меня была такая же проблема, но ни одна из других решений не помогла. curl -v $NVM_NODEJS_ORG_MIRROR/
показал TLS 1.2 и никаких проблем с сертификатами. Когда я попробовал which curl
, оказалось, что у меня в каталоге PATH есть каталог anaconda3/bin, у которого есть собственная версия curl (не знаю, зачем это нужно). Как только я исправил свой путь, nvm ls-remote
работал отлично. Надеюсь, это поможет спасти кого-то еще от разочарования.
Для меня это будет работать
nvm alias default node
указывает "по умолчанию" на последней установленной версии узла (8.11.1).
Это работает для меня в моем Linux:
экспортировать NVM_NODEJS_ORG_MIRROR =http://nodejs.org/dist