Estaba actualizando Node.js node
a través de Homebrew brew upgrade
y no se vinculaba correctamente.
$ brew update
(se actualizaron las fórmulas snip-snip)
$ brew upgrade
(snip-snip otras actualizaciones)
==> Nodo de actualización
==> Descargando http://nodejs.org/dist/v0.8.11/node-v0.8.11. tar.gz
############################################ ####################### 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.11
= => make install
==> Advertencias
Homebrew instaló npm.
Recomendamos anteponer la siguiente ruta a su
variable de entorno PATH para que se recojan los archivos binarios instalados por npm:
/usr/local/share/npm/bin
Advertencia: No se pudo vincular el nodo. Desvinculando...
Error: Elbrew link
paso no se completó correctamente
La fórmula está construida, pero no está enlazada a /usr/local
Puede intentarlo de nuevo usando `brew link node'
==> Resumen
/usr/local/Cellar/node/0.8.11: 856 archivos, 13M, construido en 108 segundos
( recortar-recortar otras actualizaciones)
Seguí los pasos recomendados para forzar la vinculación.
$ brew link node
Vinculando /usr/local/Cellar/node/0... Advertencia: No se pudo vincular el nodo. Desvinculando...Error: no se pudo vincular el archivo: /usr/local/Cellar/node/0.8.11/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh ya existe . Es posible que deba eliminarlo.
Para forzar el enlace y eliminar este archivo, haz lo siguiente:
brew link -f formula_namePara enumerar todos los archivos que se eliminarían:
brew link -n formula_name
$ brew link -f node
Linking /usr/local/Cellar/node/0.8.11... 756 symlinks created
Me sorprendió la cantidad de enlaces simbólicos, así que, por curiosidad, intenté vincularlo nuevamente.
$ brew unlink node
Desvinculando /usr/local/Cellar/node/0.8.11... 755 enlaces eliminados
$ brew link node
Vinculando /usr/local/Cellar/node/0.8.11... 352 enlaces simbólicos creados
$ brew link node
Advertencia: Ya vinculado: /usr/local/Cellar/node/0.8.11
$ which node
/usr/local/bin/node
$ brew unlink node
Desvincular /usr/local/Cellar/node/0.8.11... 351 enlaces eliminado
$ brew link node
Vinculación /usr/local/Cellar/node/0.8.11... 304 enlaces simbólicos creados
$ brew unlink node
Desvinculación de /usr/local/Cellar/node/0.8.11... 303 enlaces eliminados
$ brew link nodo
Vinculando /usr/local/Cellar/node/0.8.11... 304 enlaces simbólicos creados
$ brew unlink node
Desvinculando /usr/local/Cellar/node/0.8.11... 303 enlaces eliminados
El proceso se estabiliza en 304/303.
Editar: ejecutó el mismo procedimiento de actualización/actualización/enlace/desenlace en la computadora de un colega; en este caso, los enlaces simbólicos pasaron de 775 a 318 a 226, donde se estabilizó. ¿Alguien más tiene números similares? ¿Dependen de otras recetas de preparación instaladas, o tal vez de módulos npm?
¿Tiene varias versiones de Node instaladas a través de homebrew? Cada vez que actualiza node homebrew, coloca la versión más nueva junto con la anterior y luego actualiza los enlaces simbólicos a la versión más nueva. Ejecutar brew cleanup
debería reducir eso un poco para ti.
brew cleanup
, gracias! Se eliminaron 7 versiones antiguas de nodos. Sin embargo, repetir desvincular/vincular aún daba el ciclo 303/304, por lo que no hizo ninguna diferencia.brew prune
es silenciosa en mi máquina, por lo que no puedo estar seguro de qué diferencia hizo. Sin embargo, ahora tengo un ciclo 303/303, por lo que es posible que haya afectado un enlace simbólico =)
dominique
brew doctor
? Eso es lo primero que debe hacer en caso de problemas. El culpable parece ser/usr/local/lib/node_modules/npm/scripts/relocate.sh
. ¿Podría ser que instaló una versión no casera de Node? En ese caso, el archivo anterior no tendría propiedad de Homebrew ybrew
se confundiría. Aparentemente hay otros archivos similares.Joel Purrá
brew doctor
solo me da advertencias sobre tener Mono (en conflictopkg-config
) instalado. No creas que he tenido otro nodo instalado, pero es posible. Mi colega, que tuvo el mismo problema, puede haber agregado la compilación manual de nodos a un script de configuración de proyecto compartido (está trabajando en Ubuntu y Mac) para obtener la última versión en Ubuntu. Hace tiempo que no veo esta advertencia de vinculación, y el nodo de desvinculación/vinculación 0.8.18 es estable en los enlaces simbólicos 307/307 =)rubio