Como instalar o NodeJS 4 usando o apt?

Respostas:

75

As instruções foram retiradas daqui: https://github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

e depois:

sudo apt-get install nodejs

Aqui estão as versões do sistema:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2
jarsever
fonte
@jarserver - "Os seguintes pacotes têm dependências não atendidas: nodejs: Depende: rlwrap, mas não é instalável E: Não foi possível corrigir os problemas, você manteve pacotes quebrados." - Erro ao instalar o apt-get. Como consertar isto?
Kumar Sambhav
O @KumarSambhav parece que o banco de dados do pacote está em um estado quebrado, procure no site como corrigir um estado quebrado.
battlemidget
Isso não funciona para mim no Ubuntu 15.10 Ele sempre instala v0.10.25 (versão menor do que o OP, então eu não tenho idéia do que está acontecendo ...)
HankScorpio
@HankScorpio Parece que o apt-repo não foi atualizado. Tente seguir as instruções de instalação manual ( github.com/nodesource/distributions#manual-installation ) e veja se isso foi corrigido.
jarsever
Sim, era esse o problema. Algumas chaves GPG (sejam elas quais forem) estavam ausentes, por isso apt-get updatesempre falhavam. I utilizado y-ppa-managerpara corrigir o problema e agora eu tenho a última versão do NodeJS 4.
HankScorpio
37

O Node Version Manager sempre possui as últimas

Eu tenho uma forte opinião de que instalar o Node com o Node Version Manager é a melhor opção no Ubuntu, se você estiver instalando em um computador em que pretende desenvolver (em vez de um servidor de produção).

Quando você instala através dos repositórios oficiais, acaba com algo terrivelmente desatualizado. Você sempre pode adicionar um PPA, mas ainda terá permissões confusas, onde a instalação global de módulos do npm requer privilégios de administrador.

Com o NVM, tudo é mantido em sua pasta pessoal (portanto, não é necessário sudo), e você pode instalar várias versões do Node (incluindo a 4.0) e alternar entre elas com facilidade.

Instalação com NVM

Retirado das instruções de instalação do NVM :

Pegue a cópia mais recente do NVM (pode ser necessário sudo apt-get install curlprimeiro):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

Diga ao seu shell para usar nvm(você pode adicionar isso para ~/.bashrcque aconteça automaticamente no futuro):

source ~/.nvm/nvm.sh

Em seguida, instale a versão mais recente do nó:

nvm install 4.0

E diga à nvm qual versão do Node você deseja usar:

nvm use 4.0

Você também pode adicionar a nvm use 4.0linha ao seu ~/.bashrc, para não precisar escolher uma versão do nó sempre que iniciar o terminal.

Agora, se você verificar which node, deve fornecer um caminho para o nó executável dentro da sua pasta pessoal. Correr node --versiondeve dizer que você está correndo v4.0.0.

Michael Martin-Smucker
fonte
6
Eu não acho que o comentário de permissões confusas seja preciso, eu instalo o nó do nodesource apt repo e posso executar e instalar os módulos do nó no meu diretório pessoal local (incluindo a opção -g global). Basta atualizar ~ / .npmrc para definir seu diretório de prefixo.
battlemidget
3
Ah, esse é um ponto muito justo. Ainda sou fã da nvm pelo aspecto de gerenciamento de versões, mas se não é esse o caso, definir um prefixo ~/.npmrcdefinitivamente parece ser a maneira correta de lidar com permissões para módulos globais.
Michael Martin-Smucker 15/09/2015
Eu acredito que a nota "desatualizada" sobre os repositórios oficiais, na resposta está um pouco ... desatualizada ;-) Os repositórios oficiais agora suportam qualquer versão divulgada publicamente em um trem de lançamento suportado - há repositórios para as versões 6, 7 e até 8, e tem sido assim desde pelo menos a minha resposta abaixo (15/10)
Guss
36

Com o kudus no @jarsever, eu pessoalmente não assino o paradigma " curl | sh ".

Se você sentir o mesmo tipo de desconforto que eu, quando solicitado a enviar algum texto arbitrário da Internet para o processo de shell de uma conta raiz, tente o mesmo efeito, mas com (um pouco) menos medo, incerteza e dúvida:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

Eu acredito que o processo deve ser claro, e você também pode fazer o mesmo através da interface do usuário de propriedades de software do Ubuntu.

Guss
fonte
Existe alguma desvantagem em fazer dessa maneira? Parece ser a melhor opção ...
Catskul
6
É mais do que uma linha, e permite que você aprenda sobre seu sistema? ... Algumas pessoas não gostam disso, eu acho, é a única maneira de explicar o curl|shfenômeno.
Guss
3
Além de aprender sobre o gerenciador de pacotes do seu sistema operacional, também é um problema de segurança. curl|shextrai um script de um servidor e o executa diretamente em um shell. Pessoalmente, confio na fonte de nós, mas esse não é um ótimo hábito. unix.stackexchange.com/questions/46286/…
blanket_cat
E aí pedindo para você encaixar sudo -E bash. Está sendo executado como root. Eu recomendo que você leia e entenda o script, se você for canalizá-lo da rede para um shell raiz.
precisa saber é o seguinte
11
De um modo geral, ao instalar um pacote deb, você corre o mesmo risco que canaliza a Internet em um shell raiz. Dito isto, um implica que você entende seu sistema, o outro implica que você não - e isso é uma enorme diferença.
Guss
0

Eu gosto de usar o nodeenv do pypi ( https://pypi.python.org/pypi/nodeenv ), você instala o pacote usando o pip, configura um "node / virtualenv" e diz para instalar uma versão pré-construída, rápida e simples . Paulo

Paulo
fonte
-1

Isso funcionou para mim

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

Fonte: https://gist.github.com/isaacs/579814

johnjullies
fonte
11
A questão é especificamente sobre como instalar o NodeJS com o Apt .
David Foerster