node.js - instalar - update node js
Los resultados del comando nvm ls-remote en "N/A" (6)
Lo más probable es que esto se curl $NVM_NODEJS_ORG_MIRROR
rizo no puede utilizar certificados para las URL de https (verifique con el curl $NVM_NODEJS_ORG_MIRROR
). En lugar de utilizar la URL de http como solución alternativa, es IMO mucho mejor para corregir rizos.
Suponiendo que tiene instalado el paquete de ca-certificates
, agregue la siguiente línea a su .bashrc
( source2 , source2 ):
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
Estoy intentando instalar Node con nvm, pero cuando escribo cualquier versión no está disponible. Cuando nvm ls-remote
simplemente obtengo "N / A".
Soy capaz de acceder a Internet, así que no puedo entender lo que podría estar pasando.
Me encontraba con este problema cuando utilizaba Vagrant 1.7.1 ejecutando un cuadro de Ubuntu 14.04 en Virtual Box 4.3.30 en Windows 7. Probé las sugerencias anteriores y nada me funcionó. Encontré esta publicación here relacionada con el error de Curl que estaba recibiendo al intentar ejecutar: curl $NVM_NODEJS_ORG_MIRROR
El error fue: curl: (7) Couldn''t connect to server
Pude seguir una sugerencia en esa publicación y luego, una vez que reinicié mi caja de Vagrant con una vagrant reload
, pude ejecutar nvm ls-remote
y ver una lista de versiones de nodo e instalar. Esto es lo que hice en la caja errante: cd /etc/
sudo nano hosts
cambiado 127.0.0.1 localhost
a:
0.0.0.0 localhost
Espero que esto ayude a cualquiera con el mismo problema. Gracias @ Truong Nguyen
Parece que falta el ''/'' al final de la URL, por eso el mensaje 301 se movió de forma permanente. Así que cambiando el enlace en nvm.sh desde
a
hace que funcione.
Si está utilizando nvm behide un proxy, necesita configurar la configuración del proxy para curl
edite o cree el archivo ~ / .curlrc y agregue esta línea con su proxy
echo ''proxy=http://<proxy-user>:<proxy-pass>@<proxy-url>:<proxy-port>'' >> ~/.curlrc
Si su proxy no necesita un usuario y contraseña, puede usarlo:
echo ''proxy=http:<proxy-url>:<proxy-port>'' >> ~/.curlrc
Tuve este mismo problema, pero ninguna de las otras soluciones me ayudó. curl -v $NVM_NODEJS_ORG_MIRROR/
mostró TLS 1.2 y no tiene problemas con certificados. Cuando probé which curl
, resultó que tenía un directorio anaconda3 / bin en mi RUTA, que tiene su propia versión de rizo (no estoy seguro de por qué lo necesitan). Una vez que arreglé mi camino, nvm ls-remote
funcionó bien. Espero que esto ayude a salvar a alguien algo de frustración.
Actualización con comentarios de LJHarb, quien mantiene nvm.sh
LJHarb sugiere que un problema típico que causa esto es que "las autoridades de certificado SSL instaladas en su sistema han caducado". Comprobar esto y tratar de solucionarlo sería un mejor primer paso.
En el caso de que crea que hay un problema en el lado de nvm.sh, LJHarb solicita a los usuarios que presenten un error en el rastreador de problemas de nvm.sh.
Siéntase libre de ver el texto original en la sección de comentarios.
Además, me gustaría señalar que las siguientes soluciones están pensadas como soluciones temporales que solo se utilizarán temporalmente si realmente está en un aprieto. No se recomienda la modificación permanente del espejo exportado o del script nvm.sh.
Editar : Encontré una solución más fácil
Puedes exportar la versión no https del espejo que usa para agarrar el material:
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
Entonces nvm funciona
Edición previa
Tenía el mismo problema justo ahora.
Parece que, de forma predeterminada, intenta utilizar curl si está disponible en su sistema.
Supongo que también está en Linux, así que intente ejecutar curl $NVM_NODEJS_ORG_MIRROR
y vea si curl $NVM_NODEJS_ORG_MIRROR
el mismo error que yo:
curl: (77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Es posible que algún certificado caduque o esté mal configurado (o que alguien esté haciendo algo desagradable), hasta que se solucione, si no le importa resolver el problema de seguridad, puede encontrar el archivo nvm.sh (debería estar en ~/.nvm/nvm.sh
si siguió la información de instalación), y puede agregar un -k
en la línea 17 después del rizo, para que se vea así:
-- nvm.sh --
nvm_download() {
16 if nvm_has "curl"; then
17 curl -k $*
18 elif nvm_has "wget"; then
19 # Emulate curl with wget
...
}
No olvides reiniciar tu shell, luego prueba nvm ls-remote
. Suponiendo que la solución funcionó, debería poder usar nvm ahora.