Estoy tratando de instalar node.js a través de Homebrew. Lamentablemente, recibo este error:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds
Entonces trato de vincular el nodo manualmente ...
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
No tuve suerte, así que trato de vincular con fuerza el nodo ...
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
No estoy familiarizado con dtrace en ningún aspecto y tengo miedo de meterme con los permisos, así que intenté sudo ...
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
He intentado desinstalar el nodo a través brew uninstall node
y volver a intentar la instalación sin suerte.
Respuestas:
El paquete homebrew para node.js ahora incluye npm nuevamente, así que esto me sucedió cuando perdí el mensaje del paquete homebrew acerca de eliminar primero la versión independiente.
Asumiendo, como yo, que ya ha roto el nodo / npm al intentar la actualización antes de saberlo
npm uninstall npm -g
primero, puederm -rf /usr/local/lib/node_modules/npm
y luegobrew link node
. Esto elimina el paquete npm autohospedado independiente (en lugar del que le gustaría instalar) y permite crear un enlace simbólico de su paquete de Cellar.fuente
Ejecuto Mac OS X Mavericks. Intenté instalar el nodo 0.10.25 y la respuesta principal no funcionó para mí.
natevw dice que
rm -rf /usr/local/lib/node_modules/npm
pero si los permisos se/usr/local/lib/node_modules
ven así:entonces brew no podrá crear su enlace simbólico npm en ese directorio. Aquí está mi solución:
Paso 1: Actualiza Homebrew
Paso 2: elimine el nodo / npm en todas partes de su sistema
Algunos de estos comandos no son necesarios dependiendo de cómo instaló node / npm en el pasado.
Nota: Tenía archivos de nodo perdido que encontré al ejecutar
brew -v link node
(lo que me dio el resultado detallado de los errores de vinculación sobre los que se quejaba brew). Es posible que necesite:Paso 3: abra una nueva terminal e instale el nodo
fuente
whoami
/ usr / local Saucefuncionaría bien como se menciona en la solución de problemas del sitio de preparación
https://github.com/Homebrew/homebrew/wiki/troubleshooting
fuente
sudo chmod -R g+w /usr/local
(aunque honestamente, ambos me asustan)chgrp
comando.brew doctor
, pero prefierosudo su
, ejecutar los comandos y luego cerrar el terminalProbablemente ya haya instalado una versión anterior de node.js utilizando un método diferente, por lo que debe eliminar manualmente los archivos que se interponen en su camino.
Haga
brew link -n node
y elimine manualmente esos archivos y directorios en conflicto, luego intentebrew link node
nuevamente.fuente
aspell
. ¿Cómo encuentro los archivos y directorios en conflicto?Llegué un poco tarde, lo que funcionó para mí fue esto:
Todo fue exitoso después de esta secuencia
fuente
sudo chmod 777
Esta nunca es la solución correcta, si tiene problemas de permisos, investigue por qué están ocurriendo y establezca el nivel mínimo de permisos necesarios para hacer el trabajo. Este comando permitirá que cualquier persona del sistema modifique el archivo.brew link node
por primera vez.Prueba esto. Obtuve de otra referencia y trabajó para mí.
fuente
brew postinstall node
fue el boletobrew link --overwrite node
y el comando final, todo parece funcionar. El comando final que sugirió no funciona debido a 'sudo. En cambio, usebrew postinstall node
Tuve el mismo problema después de transferir todas mis aplicaciones de mi Mac anterior a la nueva.
Encontré la solución ejecutando
brew doctor
:Después de correr
brew prune
, Homebrew finalmente vuelve a la normalidad :)fuente
Mi problema tenía una solución ligeramente diferente. El directorio en el que brew quería crear los enlaces simbólicos no era propiedad del usuario actual.
ls -la /usr/local/bin/lib/node | grep node
cedió:Para mí, lo siguiente lo arregló:
PD.
$(users)
se ampliará a su nombre de usuario, se esforzó un poco para ayudar a pegar copias pegadas;)fuente
gracias @suweller.
Arregle el problema:
Tuve el mismo problema que suweller:
Así que arreglé este problema:
Después de solucionar este problema, recibí otro:
Entonces eliminé node.d por:
tengo otro error de permiso:
y lo arregló:
y finalmente todo funcionó:
fuente
La mayoría de los problemas de instalación de brew con el nodo son causados por errores de permisos o por haber instalado el nodo previamente y luego intentar instalarlo a través de brew. La solución que finalmente funcionó para mí fue:
ADVERTENCIA: Esto desinstalará el uso de nodejs (varias versiones) con precaución:
Eliminar nodo a través de brew:
brew desinstalar nodo
También lo hizo a través de la fuerza:
brew desinstalar nodo --force
Para usar el script Fuente: Eliminar nodo :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Luego:
Luego:
Luego, asegúrese de hacer el siguiente comando:
chown $ USER / usr / local
Luego haga una actualización de preparación (siga haciendo esto hasta que se actualicen todas las cosas):
actualización de preparación
Haga una preparación limpia y ejecute la actualización nuevamente (puede ser redundante) y ejecute el doctor para asegurarse de que las cosas estén en su lugar:
preparación de cerveza; actualización de cerveza; preparar cerveza
Y finalmente instale el nodo a través de brew (detallado):
brew install -v node
fuente
la respuesta final: cambie el propietario de ese directorio a quien quiera que sea
lo cual también es recomendado por brew si ejecuta brew doctor
fuente
Recibí un error durante la instalación que no puede vincular el nodo y / usr / local / include no se puede escribir
La siguiente solución funcionó para mí: - Primero cree la carpeta de inclusión, tenga en cuenta que esto requiere privilegios de sudo
fuente
También me las arreglé para estropear mi NPM y los paquetes instalados entre estas versiones de Homebrew y no importaba cuántas veces desvinculaba / vinculaba y desinstalaba / instalaba el nodo, todavía no funcionaba.
Como resultado, debe eliminar NPM de la ruta; de lo contrario, Homebrew no lo instalará: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
Espero que esto ayude a alguien con el mismo problema y ahorre esa hora más o menos que tuve que pasar buscando el problema ...
fuente
por el buscador, elimine este archivo:
en terminal:
luego:
fuente
brew link --overwrite --dry-run node
, veo el errorNo such keg: /usr/local/Cellar/node
. ¿Qué me estoy perdiendo?He probado todos los métodos y ninguno de ellos funciona. La forma más fácil es reinstalar el nodo desde https://nodejs.org/en/download/
Simplemente descargue
pkg
e instálelo. Ahora tengo un trabajonpm
ynode
otra vez.fuente
No sé, si es una buena idea o no: después de probar todas las demás soluciones sin éxito, simplemente cambié el nombre de / usr / local / lib / dtrace, nodo vinculado y cambié el nombre del directorio nuevamente. Después de eso, el nodo funcionó como se esperaba.
fuente
Estuve luchando con esto por un tiempo. (para mí "npm uninstall npm -g" no hizo nada)
Probé un montón de cosas:
Todavía tenía algunos problemas y recibía errores cuando intentaba vincular los archivos de nodo
Finalmente probé esto
Eso parecía haberlo solucionado. (sobrescribe todos los archivos en conflicto y también enlaza nodo y npm)
Espero que esto ayude
fuente
Desinstalé completamente brew y comencé de nuevo, solo para encontrar el mismo problema nuevamente.
Brew parece funcionar al simular los binarios requeridos en su sistema donde otros métodos de instalación típicamente copiarían los archivos.
Encontré un conjunto existente de bibliotecas de nodos aquí:
/usr/local/include/node
Después de rascarme la cabeza, recordé haber instalado el nodo en la fecha de esta versión anterior y no había sido a través de brew.
Eliminé manualmente toda esta carpeta y vinculé con éxito npm.
Esto explicaría por qué el uso de Brew Desinstalar o incluso desinstalar Brew no tuvo ningún efecto.
La respuesta mejor clasificada lo expresa de manera muy simple, pero pensé en agregar mis observaciones sobre por qué es necesario.
Supongo que un montón de problemas con otros paquetes de cerveza pueden ser causados por antiguas instancias de paquetes que no están en camino.
fuente
Había estado arruinando mi cabeza en el nodo symlinking ... y nada parecía funcionar ... pero finalmente lo que funcionó fue establecer los permisos correctos. Este 'sudo chown -R $ (whoami) / usr / local' hizo el trabajo por mí.
fuente
Arreglé esto en El Capitán usando el siguiente comando. Honestamente, no tengo idea de lo que hace, pero pensé en compartirlo ya que solucionó mi problema.
fuente
Debe eliminar el paquete npm manualmente.
primer nodo de desvinculación:
brew link -n node
eliminar la carpeta npm:
rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm
enlace de nuevo:
brew link node
habrá un enlace suave a la nueva ubicación de npm
fuente