Skip to content

Instantly share code, notes, and snippets.

@lucassmagal
Last active June 30, 2020 18:53
Show Gist options
  • Save lucassmagal/5675406 to your computer and use it in GitHub Desktop.
Save lucassmagal/5675406 to your computer and use it in GitHub Desktop.
Instalar node.js e npm pra não precisar de sudo

Baixe o binário do node.js (não descompacte). Lembre-se de onde baixou o pacote ;) Então rode:

# dica: não digite "$", apenas o que vem depois ;)
$ mkdir -p ~/.local
$ cd ~/.local
$ tar xzvf caminho/pro/pacote/node-v0.10.9-linux-x64.tar.gz --strip=1

Quando a descompactação terminar, configure o seguinte:

$ ln -s ~/.local/lib/node_modules .node_modules
$ touch ~/.npmrc

Use o editor de usa preferência para abrir o arquivo .npmrc criado anteriormente. Pelo terminal, usando o nano:

$ nano ~/.npmrc

Cole o seguinte conteúdo dentro do arquivo

prefix = ${HOME}/.local
tmp = ${HOME}/.local/tmp
cache = ${HOME}/.local/npm-cache

Se estiver usando o nano, tecle Ctrl+O para salvar e Ctrl+X para sair. Agora, adicione os executáveis do node no PATH:

$ echo "export PATH=$HOME/.local/bin:$PATH" >> ~/.bashrc
# o arquivo de destino pode mudar dependendo do SO ou configuração. No Ubuntu normalmente é .bashrc

Reinicie o terminal (feche e abra de novo), e teste o seguinte:

$ which node
# deve imprimir "/home/SEU USUARIO/.local/bin/node"
$ which npm
# deve imprimir "/home/SEU USUARIO/.local/bin/npm"

Se tudo rodou ok, então o node.js foi instalado corretamente, e já podemos instalar pacotes. Vamos testar o seguinte:

$ npm install -g express  # note, sem sudo
# o output desse comando é auto-explicativo. Se houver algum erro, isso estará bem claro.

Se o comando rodou sem problemas, apenas cheque o local onde foi instalado:

$ which express
# deve imprimir "/home/SEU USUARIO/.local/bin/express"

Se o comando acima está correto, então está tudo instalado e configurado ok ;) Para testar, baixe os 3 arquivos neste link em uma pasta qualquer, e rodem o seguinte:

# Dêem cd na pasta onde estão os arquivos
$ npm install
$ node app.js
# Deve aparecer "Listening on port 3000"
# Neste momento, abram um browser e acessem http://localhost:3000/hello. Se aparecer "Hello world", FINALMENTE,
# tudo foi instalado corretamente.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment