una produccion nodejs node instalar como anterior node.js ubuntu npm

node.js - produccion - No se pueden instalar paquetes usando el administrador de paquetes de nodo en Ubuntu



node js en produccion windows (17)

El nombre del intérprete de NodeJS ( node ) en Ubuntu ha sido renombrado a nodejs debido a un conflicto de nombres con otro paquete. Esto es lo que dice el readme.debian:

El nombre en sentido ascendente para el comando del intérprete Node.js es "nodo". En Debian, el comando del intérprete se ha cambiado a "nodejs".

Esto se hizo para evitar una colisión en el espacio de nombres: otros comandos usan el mismo nombre en sus flujos ascendentes, como ax25-node del paquete "nodo".

Las secuencias de comandos que llaman a Node.js como un comando de shell deben cambiarse para utilizar el comando "nodejs".

Sin embargo, el uso de nodejs anula la instalación de paquetes usando npm . La instalación del paquete falla con el siguiente error:

sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian

¿Cómo puedo hacer que npm entienda que nodejs ya está instalado en el sistema pero que el nombre del intérprete es diferente?


  1. Instale nvm primero usando:

    curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash

  2. Ejecutar comando

    source ~/.profile

  3. Ahora ejecuta esto y esto mostrará todas las versiones instaladas u otras versiones de paquetes:

    nvm ls-remote

  4. Los paquetes instalados estarán en verde. Instala la versión que quieras:

    nvm install 6.0.0

  5. Compruebe dónde no está instalado:

    which node

  6. Compruebe la versión actual:

    node -v n=$(which node); n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local


Como otras personas ya mencionaron, sugeriré no usar "sudo apt-get" para instalar el nodo o cualquier biblioteca de desarrollo. Puede descargar la versión requerida de https://nodejs.org/dist/v6.9.2/ y configurar su propio entorno.

Recomendaré herramientas como github.com/creationix/nvm y n , para administrar su versión de nodo. Es muy conveniente cambiar y trabajar con estos módulos. github.com/creationix/nvm n

O escriba bash básico para descargar zip / tar, extraer la carpeta de movimiento y crear un enlace suave. Siempre que necesite actualizar, simplemente apunte el antiguo enlace de software a la nueva versión descargada. Al igual que he creado por mi cuenta, puede consultar: https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh

#Go to home cd ~ #run command #New Script wget https://raw.githubusercontent.com/deepakshrma/NodeJs-4.0-Reference-Guide/master/nodejs-installer.sh bash nodejs-installer.sh -v lts #here -v or --version can be sepecific to 0.10.37 or it could be latest/lts #Examples bash nodejs-installer.sh -v lts bash nodejs-installer.sh -v latest bash nodejs-installer.sh -v 4.4.2


Desinstala cualquier versión de nodo que tengas

sudo apt-get --purge remove node sudo apt-get --purge remove nodejs-legacy sudo apt-get --purge remove nodejs

instale nvm (administrador de versiones de nodos) github.com/creationix/nvm

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

Ahora puede instalar la versión de nodo que desee y cambiar entre las versiones.


El problema no está en el instalador
Reemplace nodejs con node o cambie la ruta de / usr / bin / nodejs a / usr / bin / node


En Linux Mint 17, probé ambas soluciones (crear un enlace simbólico o usar el paquete nodejs-legacy ) sin éxito.

Lo único que finalmente me funcionó fue usar el ppa de Chris Lea:

sudo apt-get purge node-* sudo apt-get autoremove sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs

Este nodo instalado versión 10.37 y npm 1.4.28. Después de eso, pude instalar paquetes globalmente.



Este es otro enfoque que utilizo ya que me gusta n para cambiar fácilmente entre las versiones de nodo.

En un nuevo sistema Ubuntu, primero instale el nodo ''sistema'':

curl -sL https://deb.nodesource.com/setup | sudo bash -

Luego instale n módulo globalmente:

npm install -g n

Desde que el nodo del sistema se instaló primero (arriba), el sistema de alternativas se puede usar para apuntar claramente al nodo provisto por n . Primero asegúrese de que el sistema de alternativas no tenga nada para el nodo:

update-alternatives --remove-all node

Luego agregue el nodo proporcionado por n :

update-alternatives --install /usr/bin/node node /usr/local/bin/node 1

A continuación, agregue el nodo proporcionado por el sistema (el que se instaló con curl):

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 2

Ahora seleccione el nodo provisto por n usando el menú interactivo (seleccione /usr/local/bin/node del menú presentado por el siguiente comando):

update-alternatives --config node

Finalmente, dado que /usr/local/bin usualmente tiene una precedencia más alta en PATH que en /usr/bin , se debe crear el siguiente alias (ingrese su .bashrc o .zshrc) para que el nodo del sistema alternativo sea efectivo; de lo contrario, el nodo instalado con n en / usr / local / bin siempre tiene prioridad:

alias node=''/usr/bin/node''

Ahora puede cambiar fácilmente entre las versiones de nodo con n <desired node version number> .


Intenta enlazar nodo a nodejs. Primero averigua dónde está nodejs

whereis nodejs

Entonces el nodo de enlace suave a nodejs

ln -s [the path of nodejs] /usr/bin/node

Estoy asumiendo que / usr / bin está en su ruta de ejecución. Luego, puede probar escribiendo node o npm en su línea de comando, y todo debería funcionar ahora.


Lo arreglé desvinculando / usr / sbin / node (que está vinculado al paquete ax25-node), luego he creado un enlace a nodejs usando esto en la línea de comando

sudo ln -s /usr/bin/nodejs /usr/bin/node

Debido a que un paquete como karma no funciona con el nombre de nodejs, sin embargo, cambiar la primera línea de script karma de node a nodejs, pero prefiero resolver este problema de una vez por todas


Para mí, la solución fue eliminar los paquetes de nodo * y también los paquetes npm.

Luego una nueva instalación como:

sudo apt-get install autoclean sudo apt-get install nodejs-legacy npm install


Simple solución desde here

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -- sudo apt-get install nodejs

Puede especificar la versión cambiando el valor de setup_x.x, por ejemplo a setup_5.x


Su sistema no puede detectar el nodo de ruta js binario.

1.que nodo

2.Entonces el nodo de enlace suave a nodejs

ln -s [the path of nodejs] /usr/bin/node

Estoy asumiendo que / usr / bin está en su ruta de ejecución. Luego, puede probar escribiendo node o npm en su línea de comando, y todo debería funcionar ahora.


TL; DR:

sudo apt-get install nodejs-legacy

Antes que nada déjame aclarar un poco la situación. En el verano de 2012, los mantenedores de Debian decidieron cambiar el nombre del ejecutable Node.js para evitar algún tipo de colisión de espacio de nombres con otro paquete. Fue una decisión muy difícil para el Comité Técnico de Debian, porque rompe la compatibilidad hacia atrás.

La siguiente es una cita del borrador de resolución del Comité, publicado en la lista de correo de Debian:

  1. El paquete nodejs se cambiará para proporcionar / usr / bin / nodejs, no / usr / bin / node. El paquete debe declarar una ruptura: relación con cualquier paquete en Debian que haga referencia a / usr / bin / node.

  2. El paquete fuente de nodejs también proporcionará un paquete binario legado nodejs en Priority: extra que contiene / usr / bin / node como un enlace simbólico a / usr / bin / nodejs. Ningún paquete en el archivo puede depender o recomendar el paquete nodejs-legacy, que se proporciona únicamente para el flujo ascendente
    compatibilidad. Este paquete declara también declarará un conflicto: relación con el paquete de nodo.

<...>

El párrafo 2 es la solución real para el problema de OP. El OP debería intentar instalar este paquete en lugar de hacer el enlace simbólico a mano. Aquí hay un enlace a este paquete en el website índice de paquetes de Debian.

Se puede instalar utilizando sudo apt-get install nodejs-legacy .

No he encontrado ninguna información sobre la adopción de todo esto por parte de los desarrolladores de NPM, pero creo que el paquete npm se solucionará en algún punto y nodejs-legacy convertirá en algo realmente legado.


También puede instalar Nodejs usando NVM o Nodejs Version Manager. Hay muchos benefits al usar un administrador de versiones. Uno de ellos es que no tienes que preocuparte por este problema.


Instrucciones:


sudo apt-get update sudo apt-get install build-essential libssl-dev

Una vez que se instalan los paquetes de requisitos previos, puede abrir el script de instalación de nvm desde la página de GitHub del proyecto. El número de versión puede ser diferente, pero en general, puede descargarlo e instalarlo con la siguiente sintaxis:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

Esto descargará el script y lo ejecutará. Instalará el software en un subdirectorio de su directorio de inicio en ~/.nvm . También agregará las líneas necesarias a su archivo ~/.profile para usar el archivo.

Para obtener acceso a la funcionalidad nvm, deberá cerrar sesión y volver a iniciar sesión, o puede obtener el archivo ~ / .profile para que su sesión actual conozca los cambios:

source ~/.profile

Ahora que tiene nvm instalado, puede instalar versiones aisladas de Node.js.

Para averiguar las versiones de Node.js que están disponibles para la instalación, puede escribir:

nvm ls-remote . . . v0.11.10 v0.11.11 v0.11.12 v0.11.13 v0.11.14

Como puede ver, la versión más reciente en el momento de escribir esto es v0.11.14. Puedes instalar eso escribiendo:

nvm install 0.11.14

Generalmente, nvm cambiará para usar la versión instalada más recientemente. Puede indicar explícitamente a nvm que use la versión que acabamos de descargar escribiendo:

nvm use 0.11.14

Cuando instala Node.js usando nvm, el ejecutable se llama nodo. Puede ver la versión que está utilizando actualmente el shell escribiendo:

node -v

El tutorial completo se puede encontrar here


para mi problema fue resuelto por,

sudo apt-get remove node sudo apt-get remove nodejs curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs sudo ln -s /usr/bin/nodejs /usr/bin/node alias node=nodejs rm -r /usr/local/lib/python2.7/dist-packages/localstack/node_modules npm install -g npm@latest || sudo npm install -g npm@latest


puede crear un enlace ln -s nodejs node en /usr/bin espero que esto resuelva su problema.


sudo apt-get --purge remove node sudo apt-get --purge remove nodejs-legacy sudo apt-get --purge remove nodejs sudo apt-get install nodejs-legacy source ~/.profile

Combinó la respuesta aceptada con la source ~/.profile del comentario que se ha doblado y algunos comandos de limpieza antes. Lo más probable es que también necesite sudo apt-get install npm after.