ver los inodos como comandos cluster linux node.js

los - comandos cluster linux



Cómo instalar archivos de distribución binaria de nodo en Linux (13)

En Ubuntu hay un archivo .bashrc que establece la ruta a los binarios.

Por defecto, hay una ruta establecida para bin en el directorio de inicio. Quizás pueda crear un directorio bin en su directorio de inicio y mover los binarios allí. Reinicie su sistema e intente ejecutar el node comando

Mi servidor de producción (Centos 5.9) no compilará nodejs, posiblemente porque gcc solo es 4.1.2 (se recomienda 4.2 o superior), así que estoy tratando de instalar los binarios.

$ wget http://nodejs.org/dist/v0.10.22/node-v0.10.22-linux-x86.tar.gz $ tar -zxvf node-v0.10.22-linux-x86.tar.gz $ cd node-v0.10.22-linux-x86 $ sudo cp bin/* /usr/local/bin $ sudo cp -R lib/* /usr/local/lib $ sudo cp -R share/* /usr/local/share

Y ahora para la prueba:

$ node -v # => v0.10.22 $ man node # looks fine $ npm -v # UH OH, PROBLEM - Cannot find module ''npmlog''

Ahora (teniendo en cuenta que soy un completo principiante en el nodo) hice algunas búsquedas y descubrí que hay una variable de entorno llamada NODE_PATH, así que intenté:

$ export NODE_PATH=/usr/local/lib/node_modules $ npm -v # SAME PROBLEM - Cannot find module ''npmlog''

Entonces, descubrí dónde vive npmlog e intenté modificar NODE_PATH en consecuencia:

$ find /usr/local/lib -name npmlog # => /usr/local/lib/node_modules/npm/node_modules/npmlog $ export NODE_PATH=/usr/local/lib/node_modules/npm/node_modules $ npm -v # DIFFERENT PROBLEM - Can''t find ''../lib/npm.js''

En esta etapa, después de una búsqueda en Google más inútil, decidí que estaba en mi profundidad y decidí pedir ayuda. ¿Alguien puede decirme qué estoy haciendo mal?


En la página man de cp en Mac OS X:

Los enlaces simbólicos siempre se siguen a menos que se establezca el distintivo -R, en cuyo caso los enlaces simbólicos no se siguen de forma predeterminada.

Cuando ejecuta sudo cp bin/* /usr/local/bin , se sigue el enlace simbólico bin/npm .

En realidad, bin/npm está vinculado a ../lib/node_modules/npm/bin/npm-cli.js , por lo que cp copiará npm-cli.js a /usr/local/bin . Es por eso que recibe un error.


Es mucho más rápido hacer una reinstalación NPM limpia que eliminará los enlaces "rotos":

wget https://npmjs.org/install.sh chmod +x install.sh sudo ./install.sh

Entonces le pedirá que elimine el enlace de NPM anterior


Me enfrenté al mismo problema. Entonces, he enlazado el nodo y npm desde ./bin/ a /usr/local/bin


Puede usar GNU stow para crear enlaces simbólicos de esos binarios en / usr / local correctamente con un comando. Stow también le permite eliminar fácilmente Node js de / usr / local en un momento posterior e intercambiar varias versiones de Node js.

$ # first, install stow $ mkdir /usr/local/stow # if it doesn''t exist $ # then, place software binary package in /usr/local/stow $ cd /usr/local/stow $ stow <package_name> # install / add sym links $ source $HOME/.bash_profile # reload your environment $ # node -v and npm -v should now work $ stow -D <package_name> # uninstall / remove sym links

Estos pasos me funcionaron con node-v0.10.17-linux-x64.


Si alguien está interesado en usar Docker, en el Dockerfile,

ENV NODE_VERSION 8.10.0 RUN wget https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz RUN tar -xJvf node-v$NODE_VERSION-linux-x64.tar.xz -C /usr/local/ ENV NODEJS_HOME /usr/local/node-v$NODE_VERSION-linux-x64 ENV PATH $NODEJS_HOME/bin:$PATH RUN node --version RUN npm --version


Tiendo a usar la nave para instalar los binarios. Use wget para descargar el archivo nave.sh y luego utilícelo para instalar el nodo. Nave también es bueno tenerla en caso de que una de sus aplicaciones de producción requiera una versión de nodo diferente a la que está instalada globalmente.

$ wget https://raw.github.com/isaacs/nave/master/nave.sh $ sudo bash nave.sh usemain 0.10.22


Tuve el mismo problema reportado aquí. Se /usr/local/bin/npm eliminando /usr/local/bin/npm y reemplazándolo con un enlace simbólico a /usr/local/lib/node_modules/npm/bin/npm-cli.js

$ ls -l /usr/local/bin/ node npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js $ npm -v 1.3.17


Tuve el mismo problema y pude resolverlo creando enlaces simbólicos en lugar de copiar los binarios.

$ cd /usr/local/src $ wget http://nodejs.org/dist/v0.10.24/node-v0.10.24-linux-x64.tar.gz $ tar -zxvf node-v0.10.24-linux-x64.tar.gz $ cd node-v0.10.24-linux-x64 $ sudo cp -R lib/* /usr/local/lib $ sudo cp -R share/* /usr/local/share $ ln -s /usr/local/src/node-v0.10.24-linux-x64/bin/node /usr/local/bin/node $ ln -s /usr/local/src/node-v0.10.24-linux-x64/bin/npm /usr/local/bin/npm $ node -v v0.10.24 $ npm -v 1.3.21


Tuve un problema así, pero con iojs. Sin embargo, debe ser el mismo procedimiento:

(Suponiendo que tenga un archivo que coincida con node-v*-linux-x64.tar.gz en su directorio actual):

# In case of iojs you need to replace the occurrences of ''node'' with ''iojs'' # Extract the downloaded archive with the linux-x64 version of node tar zxf node-v*-linux-x64.tar.gz # Move the extracted folder (./node-v*-linux-x64/) to /opt/ mv ./node-v*-linux-x64/ /opt/

Para que los archivos binarios estén disponibles en su shell, cree algunos enlaces dentro del directorio /usr/bin/ :

# Create a softlink to node in /usr/bin/ ln -s /opt/node-v*-linux-x64/bin/node /usr/bin/node # Create a softlink to npm in /usr/bin/ ln -s /opt/node-v*-linux-x64/bin/npm /usr/bin/npm # Create a softlink to iojs in /usr/bin (this step can be omitted if you''re using node) ln -s /opt/node-v*-linux-x64/bin/iojs /usr/bin/iojs

Aviso: si desea acceder al cli de algunos módulos de nodo instalados globalmente (por ejemplo, typescript , typescript o coffee-script ), debe crear un enlace de software para cada uno de esos ejecutables en el directorio /usr/bin/ .

Alternativamente, simplemente puede agregar el directorio bin de su directorio de instalación del nodo (por ejemplo, /opt/node-v*-linux-x64/ ) a la PATH entorno PATH : (¡debe usar la ruta absoluta para esto!)

# create a new .sh script in /etc/profile.d which adds the directory to PATH echo "export PATH=$PATH:/opt/node-v0.12.3-linux-x64/bin" > /etc/profile.d/node-npm.sh

Este cambio tendrá efecto después de cerrar sesión y volver a iniciarla.

Ambos métodos funcionaron para mí (uso una versión de Linux para Linux 14.04 / 15.04 con GNOME 3).


Yo tuve el mismo problema.

El problema es el npm excutable en / usr / local / bin.

La forma en que lo resolví fue:

sudo rm /usr/local/bin/npm

sudo ln -s "/usr/local/lib/node_modules/npm/bin/npm-cli.js" /usr/local/bin/npm


Usando Node Version Manager

Use un administrador de versiones de Node como nvm para manejar la instalación y la administración de versiones por usted. Después de instalar nvm , simplemente puede instalar cualquier versión de Node, por ejemplo, nvm install 8 .

Pero si solo desea instalar el binario usted mismo, vea a continuación:

Utilizando apt-get

En casos especiales donde necesita una instalación de Nodo para todo el sistema, puede usar apt-get:

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

El fragmento anterior instalará el último Nodo 8.

Instalar el binario manualmente

Para instalar el binario manualmente, todo lo que necesita hacer es descargar el binario y crear un montón de enlaces simbólicos. Ejecute los comandos debajo de uno después del otro, y debería hacer el trabajo. También he escrito un script de shell que lo hace por usted si eso es más fácil (vea la parte inferior de la respuesta). Espero que ayude.

Asegúrese de usar el enlace de descarga correcto para la arquitectura de su sistema operativo (es decir, 32 bits o 64 bits) para wget en la segunda línea.

ME=$(whoami) ; sudo chown -R $ME /usr/local && cd /usr/local/bin #adding yourself to the group to access /usr/local/bin mkdir _node && cd $_ && wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz -O - | tar zxf - --strip-components=1 ln -s "/usr/local/bin/_node/bin/node" .. # Making the symbolic link to node ln -s "/usr/local/bin/_node/lib/node_modules/npm/bin/npm-cli.js" ../npm ## making the symbolic link to npm

Aquí hay un script de shell que descarga e instala todos los componentes. Si usa este script para instalar Node, puede usar el script de desinstalación para desinstalarlo.

Instalación del nodo

#! /bin/bash # run it by: bash install-node.sh read -p " which version of Node do you need to install: for example 8.11.4 (or any other valid version): " VERSIONNAME read -p " Are you using a 32-bit or 64-bit operating system ? Enter 64 or 32: " ARCHVALUE if [[ $ARCHVALUE = 32 ]] then printf "user put in 32 /n" ARCHVALUE=86 URL=https://nodejs.org/dist/v${VERSIONNAME}/node-v${VERSIONNAME}-linux-x${ARCHVALUE}.tar.gz elif [[ $ARCHVALUE = 64 ]] then printf "user put in 64 /n" ARCHVALUE=64 URL=https://nodejs.org/dist/v${VERSIONNAME}/node-v${VERSIONNAME}-linux-x${ARCHVALUE}.tar.gz else printf "invalid input expted either 32 or 64 as input, quitting ... /n" exit fi # setting up the folders and the the symbolic links printf $URL"/n" ME=$(whoami) ; sudo chown -R $ME /usr/local && cd /usr/local/bin #adding yourself to the group to access /usr/local/bin mkdir _node && cd $_ && wget $URL -O - | tar zxf - --strip-components=1 # downloads and unzips the content to _node cp -r ./lib/node_modules/ /usr/local/lib/ # copy the node modules folder to the /lib/ folder cp -r ./include/node /usr/local/include/ # copy the /include/node folder to /usr/local/include folder mkdir /usr/local/man/man1 # create the man folder cp ./share/man/man1/node.1 /usr/local/man/man1/ # copy the man file cp bin/node /usr/local/bin/ # copy node to the bin folder ln -s "/usr/local/lib/node_modules/npm/bin/npm-cli.js" ../npm ## making the symbolic link to npm # print the version of node and npm node -v npm -v

Desinstalar el nodo

#! /bin/bash # run it by: ./uninstall-node.sh sudo rm -rf /usr/local/bin/npm sudo rm -rf /usr/local/bin/node sudo rm -rf /usr/local/lib/node_modules/ sudo rm -rf /usr/local/include/node/ sudo rm -rf /usr/local/share/man/man1/node.1 sudo rm -rf /usr/local/bin/_node/


wget <node archive url from nodejs.org> cd /usr/local sudo tar --strip-components 1 -xf <path to node archive>

Puede ejecutar nodo y npm de inmediato.

Solía ​​estar documentado en el archivo README dentro del archivo en versiones anteriores.