Actualicé / instalé con éxito la última versión del nodo js usando esos comandos (la curl
forma oficial no funciona para mí):
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
Sin embargo, la versión de mi nodo y nodejs se vuelven diferentes:
$ node --version
v5.0.0
$ nodejs --version
v0.10.25
Parece que el nuevo nodo está instalado /usr/local/bin/node
, así que intenté:
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Pero vuelve:
ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists
También uso este enlace:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
Usaré algunos frameworks que dependen de node
, como Ionic
. ¿Qué versión de nodo usará?
¿Qué debo hacer para resolver esto?
Muchas gracias por tu ayuda
nodejs
ynode
al binario instalado por n. Y si n es incapaz de hacerlo, ¿cuál es el enfoque más avanzado? En un entorno de trabajo es muy propenso a errores, si nodejs y node abordan diferentes versiones de nodejs.Respuestas:
Pasos que resolvieron el mismo problema para mí:
Explicación
Ha instalado dos versiones de nodejs en su computadora, por lo que debe eliminar una de ellas. Tu situación:
Puede eliminar el
nodejs
paquete a través delapt-get remove
comando. Esto también eliminará el archivo/usr/bin/nodejs
y no volverá a recibir su mensaje de error.Ahora puede crear un enlace simbólico llamado "/ usr / bin / nodejs", que apunta a la fuente "/ usr / local / bin / node". En su ejemplo, tiene un orden incorrecto de rutas "de" y "a"
Más información sobre la creación de enlaces: cómo funcionan los enlaces simbólicos
fuente
El error:
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
normalmente se produce cuando realmente tiene dos versiones de Nodejs, una con el alias de la
node
y la otra con elnodejs
alias, como podemos ver en el resultado de los comandosnode --version
ynodejs --version
:por lo que no puede crear un enlace simbólico para un archivo que ya existe.
Para resolver esto, debe eliminar completamente los dos paquetes usando:
y reinstale solo el
nodejs
paquete usando el comando:y crea un enlace simbólico usando:
o instale el
nodejs-legacy
que resolverá este problema con el comando:fuente
Para mí, el
node
comando es el NodeJS instalado pornvm
y elnodejs
comando es el NodeJS instalado usandoapt-get
fuente