¿Cómo instalar Node.js sin acceso a sudo pero con npm 1.3.10 instalado?

14

Tengo poco conocimiento de Ubuntu 14.04.

Necesito instalar Node.js. El Ubuntu que estoy usando es un gran sistema para una organización, así que no tengo sudoacceso, pero descubrí que npm 1.3.10 está instalado.

Estoy buscando una secuencia de comandos para instalar Node.js en mi directorio de usuarios. He descargado Node.jsdesde aquí en nodejs.org (versión LTS, 64 bit) en ~/Downloads/node-v8.9.1-linux-x64.tar.xz. ¿Que hago después?

usuario5280911
fuente
El hardware de su empresa NO es para que instale cosas fuera de lo que está autorizado a hacer. Póngase en contacto con su departamento de TI en lugar de publicar cosas aleatorias en la web.
3
@MichaelBay Node.js también se puede instalar localmente sin tener que usar sudo y sin tener que contactar al departamento de TI para obtener autorización para instalar Node.js a nivel mundial.
karel

Respuestas:

17

Para instalar Node.js y npm localmente sin tener que usar sudo, abra el terminal y escriba:

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
wget -c https://www.npmjs.org/install.sh | sh  

El paquete curl no está instalado en Ubuntu por defecto. Si no tiene curl instalado en su sistema, reemplace todas las instancias del curlarchivo install.sh con wget -cy guarde los cambios en el archivo install.sh antes de ejecutarlo.

Esto instalará node-v9.2.0, que es una versión posterior de Node.js que el archivo que ya descargó.

karel
fuente
Muchas gracias, Karel. No solo sé cómo instalar Node.js, sino que también aprendí un método general para instalar un software en mi carpeta de usuario desde el origen. Solo dos cosas para mencionar, 1) primero, tengo un ~ / .bashrc existente, así que agregué la ruta en geditor manualmente y volví a iniciar sesión. 2) No entiendo el sexto comando, así que los ejecuto por separado: primero wget ... segundo tar -xzf ... y finalmente cd en la carpeta descomprimida. Tampoco entiendo el último comando. ¿Significa que descargo install.sh de esa url y lo ejecuto?
user5280911
Lo que hiciste con ~ / .bashrc existente está bien. Con respecto al último comando, descarga el archivo install.sh de la url y lo ejecuta, además, el archivo install.sh ni siquiera necesita tener permisos ejecutables porque está ejecutando el comando como un usuario normal, no con sudo .
karel
1
Lo tengo. Gracias. Lo siento, no puedo votar tu respuesta porque mi punto de reputación no es suficiente, pero lo haré una vez que pueda. Gracias de nuevo por tu ayuda.
user5280911
¿Hay alguna manera de lograr esto cuando no tienes acceso a un compilador de C, tal vez usando los binarios?
Simon East
El usuario de GitHub isaacs, el inventor de npm, escribió algunos scripts para técnicas para instalar node y npm sin tener que usar sudo: node-and-npm-in-30-seconds.sh . Nota: npm> = 0.3 es más seguro cuando se usa sudo. ¡No hagas esto si no sabes lo que hace!
karel
2

Entreno de esta manera, en 2 pasos.

Paso 1: descargue y extraiga los binarios de nodejs

# create a directory where you want to install node js
mkdir ~/nodejs-latest

# download and extract nodejs binaries into the created directory
cd ~/nodejs-latest
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1


Paso 2: establece la RUTA y la fuente

# append the following lines to the ~/.bashrc file
export NODE_HOME=~/nodejs-latest
export PATH=$PATH:$NODE_HOME/bin

# refresh environment variables
source ~/.bashrc

Luego puede verificar la instalación de nodejs con node --versiony npm --version.

Ramvignesh
fuente
Creo que su comando está descargando los archivos fuente del Nodo (sin compilar). ¿Quizás tiene la intención de descargar los binarios?
Simon East
-1

Me gusta usar grupos de ubuntu para lograr esto. Es bastante simple.

  1. Primero instale nodejs y npm usando apt-get

    sudo apt-get update && sudo apt-get install nodejs npm

  2. Averigua quién está conectado, es decir, nombre de usuario, ejecuta el siguiente comando para verlo en la terminal

    whoami

  3. Puede ver la lista de grupos que le asignaron usando un comando muy simple, normalmente el primer grupo es su nombre de usuario

    groups

  4. Ejecute siguiente para permitir el acceso al usuario conectado

    sudo chmod 777 -R /usr/local && sudo chgrp $(whoami) -R /usr/local

  5. Actualizar npm y nodejs

    npm install -g npm

Estás listo, tu usuario puede ejecutar comandos npm sin sudo

También puede referirse a npm throws error sin sudo .

Gitesh Dalal
fuente
1
La modificación de los permisos estándar del sistema de archivos debería ser la última acción.
Carlos Dagorret