Estaba actualizando Node.js node
a través de Homebrew's brew upgrade
y no se enlazaba correctamente.
$ actualización de la cerveza
(se han actualizado las fórmulas snip-snip)
$ actualización de cerveza
(snip-snip otras mejoras)
\==> Actualización del nodo
\==> Descargar 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 instalado npm.
Le recomendamos que añada la siguiente ruta a su entorno PATH
para que se recojan los binarios instalados en npm:
/usr/local/share/npm/bin
Advertencia: No se ha podido enlazar el nodo. Desvinculando...
Error: Elbrew link
el paso no se ha completado correctamente
La fórmula se ha creado, pero no está vinculada simbólicamente a /usr/local
Puedes intentarlo de nuevo utilizando `brew link node'.
\==> Resumen
/usr/local/Cellar/node/0.8.11: 856 ficheros, 13M, construido en 108 segundos
(snip-snip otras mejoras)
He seguido los pasos recomendados para forzar la vinculación.
$ nodo de enlace de cerveza
Enlace /usr/local/Cellar/node/0... Advertencia: No se ha podido enlazar el nodo. Desvinculando...Error: Could not symlink file: /usr/local/Cellar/node/0.8.11/lib/node_modules/npm/scripts/relocate.sh
El destino /usr/local/lib/node_modules/npm/scripts/relocate.sh ya existe. Es posible que tenga que eliminarlo.
Para forzar el enlace y eliminar este archivo, haga:
brew link -f nombre_fórmulaPara listar todos los archivos que se borrarían:
brew link -n nombre_fórmula
$ brew link -f nodo
Enlazando /usr/local/Cellar/node/0.8.11... 756 enlaces simbólicos creados
Me quedé atónito con el número de enlaces simbólicos, así que por curiosidad probé a enlazarlo de nuevo.
$ brew desvincular nodo
Desenlazando /usr/local/Cellar/node/0.8.11... 755 enlaces eliminados
$ nodo de enlace de cerveza
Enlazando /usr/local/Cellar/node/0.8.11... 352 enlaces simbólicos creados
$ nodo de enlace de cerveza
Advertencia: Ya enlazado: /usr/local/Cellar/node/0.8.11
$ qué nodo
/usr/local/bin/node
$ brew desvincular nodo
Desenlazando /usr/local/Cellar/node/0.8.11... 351 enlaces eliminados
$ nodo de enlace de cerveza
Enlazando /usr/local/Cellar/node/0.8.11... 304 enlaces simbólicos creados
$ brew desvincular nodo
Desenlazando /usr/local/Cellar/node/0.8.11... 303 enlaces eliminados
$ nodo de enlace de cerveza
Enlazando /usr/local/Cellar/node/0.8.11... 304 enlaces simbólicos creados
$ brew desvincular nodo
Desenlazando /usr/local/Cellar/node/0.8.11... 303 enlaces eliminados
El proceso se estabiliza en 304/303.
- ¿Por qué tantos enlaces simbólicos?
- ¿Por qué el número de enlace/desenlace cambia de 756 a 303?
Edita: ejecuté el mismo procedimiento de actualización/actualización/enlace/desenlace en el ordenador de un colega - en este caso los enlaces simbólicos pasaron de 775 a 318 a 226, donde se estabilizaron. ¿Alguien más tiene números similares? ¿Dependen de otras recetas brew instaladas, o quizás de módulos npm?
0 votos
¿Has corrido
brew doctor
? Es lo primero que hay que hacer en caso de problemas. El culpable parece ser/usr/local/lib/node_modules/npm/scripts/relocate.sh
. ¿Podría ser que hayas instalado una versión no Homebrew de Node? En ese caso, el archivo de arriba tendría propiedad no Homebrew ybrew
se confunde. Al parecer, existen otros archivos de este tipo.0 votos
@Dominique:
brew doctor
sólo me da advertencias sobre tener Mono (conflictivopkg-config
) instalado. No creo que haya tenido otro nodo instalado, pero es posible. Mi colega, que tenía el mismo problema, puede haber añadido la compilación manual del nodo a la configuración de un proyecto compartido script (trabaja tanto en Ubuntu como en Mac) para obtener la última versión en Ubuntu. No he visto esta advertencia de vinculación en un tiempo ahora, y desvincular / vincular nodo 0.8.18 es estable en 307/307 enlaces simbólicos =)