macos - not - Error: el paso ''brew link'' no se completó correctamente
install brew mac sierra (19)
Estoy tratando de instalar node.js a través de Homebrew. Desafortunadamente, 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 tengo suerte, así que intento vincular forzosamente 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 traté de 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.
Intenté desinstalar el nodo a través del nodo de desinstalación brew uninstall node
y reintentar la instalación sin suerte.
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
Desinstalé completamente la infusión y comencé de nuevo, solo para encontrar el mismo problema otra vez.
Brew parece funcionar mediante el enlace simbólico de los binarios necesarios en su sistema, donde otros métodos de instalación suelen copiar los archivos.
Encontré un conjunto existente de bibliotecas de nodos aquí:
/usr/local/include/node
Después de algunos rasguños en la cabeza, recordé haber instalado el nodo en la fecha en contra de esta versión anterior y no había sido por brebaje.
Borré manualmente esta carpeta completa y conecté con éxito npm.
Esto explicaría por qué usar brew uninstall o incluso uninstall brew no tuvo ningún efecto.
La respuesta más alta clasifica esto de manera muy simple, pero pensé que agregaría mis observaciones sobre por qué es necesario.
Supongo que un montón de problemas con otros paquetes de cerveza pueden ser causados por paquetes de paquetes no preparados en el camino.
El paquete homebrew para node.js ahora incluye npm nuevamente, así que esto me sucedió cuando me perdí el mensaje del paquete homebrew sobre la eliminación de la versión independiente primero.
Asumiendo, como yo, que ya has roto el nodo / npm intentando la actualización antes de saber npm uninstall npm -g
primero, puedes rm -rf /usr/local/lib/node_modules/npm
y luego brew link node
. Esto elimina el paquete independiente npm autohospedado (en lugar del único que desea instalar) y permite mezclar el enlace simbólico del paquete de Cellar.
Estoy un poco tarde, lo que funcionó para mí fue esto:
* npm uninstall npm -g
* brew uninstall node
* brew install node
* sudo rm -rf /usr/local/lib/dtrace/node.d
* brew link node (caused error with permissions)
* sudo chmod 777 /usr/local/lib/dtrace/node.d
* brew link node
Todo fue exitoso después de esta secuencia
Estuve luchando con esto por un tiempo. (para mí "npm uninstall npm -g" no hizo nada)
Intenté un montón de cosas:
npm uninstall npm -g
brew uninstall node
brew install node
Todavía tenía algunos problemas y recibía errores cuando intentaba vincular los archivos de nodo.
Finalmente probé esto
brew link --overwrite node
Eso parecía haberlo solucionado. (sobrescribe todos los archivos en conflicto y también enlaza nodo y npm)
Espero que esto ayude
Había estado arruinando mi cabeza en el nodo de enlace simbólico ... 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í.
La mayoría de los problemas de instalación de brew con el nodo son causados por errores de permisos o por tener un nodo previamente instalado y luego tratar de instalarlo mediante brew. La solución que funcionó para mí finalmente fue:
ADVERTENCIA: Esto desinstalará nodejs (múltiples versiones) con precaución:
Eliminar nodo a través de brew:
brew nodo de desinstalación
también lo hizo a través de la fuerza:
brew nodo de desinstalación --force
Para usar el script Fuente: Eliminar nodo :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Entonces:
chmod +x /path/to/terminatenode.sh
Entonces:
./terminatenode.sh .
Luego asegúrate de hacer el siguiente comando:
chown $ USER / usr / local
Luego haga una actualización de brew (siga haciendo esto hasta que todo esté actualizado):
actualización de cerveza
Limpie el brebaje y vuelva a ejecutar la actualización (puede ser redundante) y ejecute el médico para asegurarse de que todo esté en su lugar:
preparación de cerveza; actualización de cerveza; brew doctor
Y finalmente instalar el nodo a través de brew (detallado):
brew install -v nodo
Lo arreglé en El Capitán usando el siguiente comando. Honestamente, no tengo idea de lo que hace, pero pensé que lo compartiría desde que resolvió mi problema.
brew link --overwrite node
Manejo Mac OS X Mavericks. Traté de instalar el nodo 0.10.25 y la respuesta principal no funcionó para mí.
natevw dice a rm -rf /usr/local/lib/node_modules/npm
pero si los permisos en /usr/local/lib/node_modules
ven así:
drwxr-xr-x 3 root admin 102 Feb 2 20:45 node_modules
luego brew no podrá crear su enlace simbólico npm en ese directorio. Aquí está mi solución:
Paso 1: Actualiza Homebrew
$ brew update
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.
$ brew uninstall npm
$ brew uninstall node
$ npm uninstall npm -g
$ sudo rm -rf /usr/local/lib/node_modules
Nota: Tenía archivos de nodo extraviados que encontré ejecutando brew -v link node
(que me dio la salida detallada de los errores de enlace de los que se quejaba brew). Es posible que necesite:
$ sudo rm -rf /usr/local/include/node
$ sudo rm -rf /usr/local/lib/node
Paso 3: abre una nueva terminal e instala el nodo
$ brew install node
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
ls -la /usr/local/bin/lib/node | grep node
producido:
drwxr-xr-x 3 24561 wheel 102 May 4 2012 node
drwxr-xr-x 7 24561 wheel 238 Sep 18 16:37 node_modules
Para mí, lo siguiente lo solucionó:
sudo chown $(users) /usr/local/bin/lib/node_modules
sudo chown $(users) /usr/local/bin/lib/node
PD. $(users)
se ampliarán a su nombre de usuario, salieron un poco de mi camino para ayudar a los pegadores perezosos;)
No sé, si es una buena idea o no: después de probar todas las demás soluciones sin éxito, acabo de renombrar / usr / local / lib / dtrace, nodo vinculado y rebautizado nuevamente el directorio. Después de eso, el nodo funcionó como se esperaba.
Probablemente ya hayas instalado una versión anterior de node.js usando un método diferente, por lo que debes eliminar manualmente los archivos que se están poniendo en camino.
brew link -n node
y elimine manualmente esos archivos y directorios en conflicto, luego pruebe nuevamente el brew link node
.
Prueba esto. Obtuve de otra referencia y funcionó para mí.
sudo brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
sudo brew postinstall node
También logré desordenar mi NPM e instalé paquetes entre estas versiones de Homebrew y sin importar cuántas veces desvinculé, vinculé y desinstalé / instalé el nodo, todavía no funcionó.
Como resultado, debes eliminar el 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 o así tuve que pasar buscando el problema ...
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
:
Advertencia: se encontraron enlaces simbólicos rotos. Eliminarlos con
brew prune
Después de ejecutar brew prune
, Homebrew finalmente está de nuevo en marcha :)
la última respuesta: cambie el propietario de ese directorio a quien sea que sea
sudo chown -R `whoami` /usr/local/include
que también se recomienda por infusión si ejecuta brew doctor
por el Finder, elimine este archivo:
/usr/local/lib/dtrace/node.d
en la terminal:
$ brew link --overwrite --dry-run node
entonces:
$ brew link node
thx @suweller.
Solucioné el problema:
➜ bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/node_modules/npm
Tuve el mismo problema que suweller:
➜ bin git:(master) ✗ ls -la /usr/local/lib/ | grep node
drwxr-xr-x 3 24561 wheel 102 11 Okt 2012 node
drwxr-xr-x 3 24561 wheel 102 27 Jan 11:32 node_modules
entonces arreglé este problema por:
➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node_modules
➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node
Después de solucionar este problema, obtuve otro:
➜ bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
brew link --overwrite formula_name
To list all files that would be deleted:
brew link --overwrite --dry-run formula_name
Así que eliminé node.d por:
➜ bin git:(master) ✗ sudo rm /usr/local/lib/dtrace/node.d
Obtuve otro error de permiso:
➜ bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
/usr/local/lib/dtrace is not writable. You should change its permissions.
y lo arregló:
➜ bin git:(master) ✗ sudo chown $(users) /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d
y finalmente todo funcionó:
➜ bin git:(master) ✗ brew link node
Linking /usr/local/Cellar/node/0.10.25... 1225 symlinks created
sudo chown -R $(whoami) /usr/local
haría bien, como se menciona en la solución de problemas del sitio brew