Cómo instalar la última versión de Node usando Brew


154

La última versión de NodeJs en este momento es 0.4.1

El comando en brew install nodeeste momento, instala 0.2.6, que no es ideal. Me gustaría 0.4.1

He mirado esta lista de comandos para preparar y he probadobrew install --HEAD node

Pero eso instala el nodo 0.5-pre.

¿Por qué Brew no está instalando la versión correcta y cómo puedo forzarla a obtener la correcta?

En esta etapa, parece que en realidad sería más fácil descargar el src e instalarlo manualmente. Pero me gustaría saber qué está pasando con Brew.


Tengo curiosidad ¿Cuál es la diferencia entre instalar a través de Homebrew e instalar desde el paquete descargado de nodejs.org ?
yihangho

Respuestas:


126

¿Has corrido brew updateprimero? Si no lo hace, Homebrew no puede actualizar sus fórmulas, y si no actualiza sus fórmulas, no sabe cómo instalar las últimas versiones del software.


2
Correcto, había intentado 'brew update node' pero ahora veo que tienes razón. No se me ocurrió porque el doco dice que 'actualizar brew' actualizaría el software brew, lo que parece no hacer ninguna diferencia. Pero menciona 'formulea', que es solo una palabra (francamente) estúpida para lo que básicamente es 'biblioteca de versiones de software'. Puedo hacer 'brew info node' para averiguar qué versión va a instalar. Está configurado en 0.4.0, así que terminé instalando desde src de todos modos, pero esto es correcto. Gracias.
PandaWood

Cuando dice "actualizar el software brew" no significa actualizar el software que brew ha instalado; significa actualizar brew en sí, así como su biblioteca de fórmulas.
Lily Ballard

301

Ejecute los comandos a continuación, en este orden:

brew update
brew doctor
brew upgrade node

Ahora ha instalado la versión actualizada del nodo, y probablemente no esté vinculada. Si no es así, simplemente escriba: brew link nodeobrew link --overwrite node


1
Sigue recibiendo/usr/local/share/doc/node is not writable.
Saba Ahang

@SabaAhang, ver: Corregir permisos en / usr / local para Homebrew; ; gist.github.com/rpavlik/768518
AnneTheAgile

3
Error: No existe ese barril: / usr / local / Cellar / node
Hos Mercury

Agradable, esto solucionó un error de NPM ("Buffer.alloc no es una función") porque el nodo del barril no estaba vinculado; necesario para forzar el enlace / sobrescribir archivos antiguos.
Dave

2
brew link --overwrite node¡Es realmente importante! gracias
hanzichi

136

Después de la instalación / actualización del nodo a través de brew, me encontré con este problema exactamente: el comando del nodo funcionó pero no el comando npm.

Usé estos comandos para arreglarlo.

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

Reuní esta solución después de la prueba y error usando ...


¡Gracias! Tenía exactamente el mismo problema, y ​​esto lo resolvió.
elsurudo

77
sudo brew postinstall nodearrojará un error a menos que brew sea propiedad de root (no recomendado). No creo que sea necesario si ya lo hiciste sudo chown -R $(whoami) /usr/local. Deberías poder correr brew postinstall node.
Sam Fen

2
@SamFen tiene razón. sudoinnecesario. Primero ejecuté la respuesta aceptada antes de probar esta lista de comandos. Luego corrí node -vy todo parece estar bien ahora.
6754534367

1
Use sudo chown -R $ (whoami) $ (brew --prefix) / * en lugar de sudo chown -R $ (whoami) / usr / local
Troy DC Thompson

1
Esto funcionó para mí. Hice lo que @TroyDCThompson me recomendó sudo chown -R $(whoami) $(brew --prefix)/*cuando estaba obteniendo Operation not permitted.
thurzo101


13

Además, intente desactivar la versión del nodo actual después de instalar una nueva versión del nodo. Me ayuda.

nvm deactivate

Esto se elimina /Users/user_name/.nvm/*/bin de $ PATH

Y después de que ese nodo fue actualizado

node --version
v10.9.0

9

Tuve que hacer brew link --overwrite nodedespués brew install nodepara actualizar de 0.4 a 0.8.18


Error: No existe ese barril: / usr / local / Cellar / node
Hos Mercury

7

Intente usar "n" el administrador de paquetes extremadamente simple Node .

> npm install -g n

Una vez que tenga "n" instalado. Puede extraer el último nodo haciendo lo siguiente:

> n latest

Lo he usado con éxito en Ubuntu 16.0x y MacOS 10.12 (Sierra)

Referencia: https://github.com/tj/n


7

Si ha instalado el nodo actual vía Homebrew, simplemente use estos comandos.

brew update
brew upgrade node

Verifique la versión del nodo por

node -v


3

Acabo de usar esta solución con Homebrew 0.9.5 y parecía una solución rápida para actualizar a la última versión estable de nodo.

brew update

Esto instalará la última versión

brew install node

Desvincula tu versión actual del uso del nodo, nodo -v, para encontrar esto

brew unlink node012

Esto cambiará a la versión más actualizada del nodo.

brew link node

Nota: Esta solución funcionó porque obtuve este error:

Error: No existe ese barril: / usr / local / Cellar / node


2

Lo hice en Mac OSX Sierra. Tenía instalado el Nodo 6.1 pero Puppetter requería el Nodo 6.4. Esto es lo que hice:

brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile

Y luego abra una nueva ventana de terminal y ejecute:

node -v
v8.11.2

--Overwrite es necesario para anular archivos en conflicto entre node6 y node8




0

Si está dispuesto a eliminar la brewdependencia, le recomendaría nvm . Realmente no puedo recomendarlo sobre ninguna otra solución de versiones porque no he necesitado probar nada más. Tener la capacidad de cambiar instantáneamente entre versiones dependiendo del proyecto en el que estés trabajando es bastante valioso.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.