Como instalar o Node.js sem acesso ao sudo, mas com o npm 1.3.10 instalado?

14

Eu tenho pouco conhecimento do Ubuntu 14.04.

Eu preciso instalar o Node.js. O Ubuntu que estou usando é um grande sistema para uma organização, por isso não tenho sudoacesso, mas descobri que o npm 1.3.10 está instalado.

Estou procurando uma sequência de comandos para instalar o Node.js no meu diretório de usuários. Tenho baixado Node.jsa partir de aqui na nodejs.org (versão LTS, 64 bit) em ~/Downloads/node-v8.9.1-linux-x64.tar.xz. O que eu faço em seguida?

user5280911
fonte
O hardware da sua empresa NÃO é para você instalar coisas fora do que você está autorizado a fazer. Entre em contato com seu departamento de TI em vez de publicar coisas aleatórias na web.
3
O @MichaelBay Node.js também pode ser instalado localmente sem precisar usar o sudo e sem precisar entrar em contato com o departamento de TI para obter autorização para instalar o Node.j globalmente.
karel

Respostas:

17

Para instalar o Node.js e o npm localmente sem precisar usar o sudo, abra o terminal e digite:

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  

O pacote curl não está instalado no Ubuntu por padrão. Se você não tiver o curl instalado em seu sistema, substitua todas as instâncias do curlarquivo install.sh por wget -ce salve as alterações no arquivo install.sh antes de executá-lo.

Isso instalará o node-v9.2.0, que é uma versão posterior do Node.js que o arquivo que você já baixou.

karel
fonte
Muito obrigado, Karel. Eu não apenas sei instalar o Node.js, mas também aprendi um método geral para instalar um software na minha pasta de usuário da fonte. Apenas duas coisas a mencionar: 1) primeiro, eu tenho um ~ / .bashrc existente, então adicionei o caminho no geditor manualmente e reinscrevi-me. 2) Eu não entendo o sexto comando, então eu os executo separadamente: primeiro wget ... segundo tar -xzf ... e finalmente cd na pasta descompactada. Também não entendo o último comando. Isso significa que eu baixo o install.sh desse URL e o executo?
user5280911
O que você fez com o ~ / .bashrc existente está OK. Em relação ao último comando, ele faz o download do arquivo install.sh da url e o executa, além disso, o arquivo install.sh nem precisa ter permissões de executável porque você está executando o comando como um usuário comum, não com o sudo .
karel
1
Deixa comigo. Obrigado. Sinto muito por não poder votar novamente na sua resposta porque meu ponto de reputação não é suficiente, mas farei isso quando puder. Obrigado novamente por sua ajuda.
user5280911
Existe uma maneira de conseguir isso quando você não tem acesso a um compilador C - talvez usando os binários?
Simon Médio
O usuário do GitHub isaacs, o inventor do npm, escreveu alguns scripts de técnicas para instalar o node e o npm sem precisar usar sudo: node-and-npm-in-30-seconds.sh . Nota: npm> = 0,3 é mais seguro ao usar o sudo. Por favor, não faça isso se você não sabe o que faz!
Karel
2

Treino dessa maneira - em 2 etapas.

Etapa 1: baixar e extrair binários 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


Etapa 2: defina PATH e origem

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

# refresh environment variables
source ~/.bashrc

Você pode verificar a instalação do nodejs com node --versione npm --version.

Ramvignesh
fonte
Eu acho que seu comando está baixando os arquivos de origem do Nó (descompilados). Talvez você pretenda baixar os binários?
Simon Médio
-1

Eu gosto de usar grupos do ubuntu para conseguir isso. É bem simples

  1. Primeiro instale nodejs e npm usando o apt-get

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

  2. Descobrir quem está logado, ou seja, nome de usuário, execute o seguinte comando para vê-lo no terminal

    whoami

  3. Você pode ver a lista de grupos designados usando um comando muito simples, normalmente o primeiro grupo é o seu nome de usuário

    groups

  4. Execute o seguinte para permitir o acesso ao usuário conectado

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

  5. Atualizar npm e nodejs

    npm install -g npm

Você está pronto, seu usuário pode executar comandos npm sem sudo

Você também pode consultar o erro do npm throws sem o sudo .

Gitesh Dalal
fonte
1
Modificar as permissões padrão do sistema de arquivos deve ser a última ação.
Carlos Dagorret 03/02/19