Como instalar o nó yum.JS no Amazon Linux
Eu vi o writeup de usar o yum para instalar as dependências, e depois instalar o nó.JS & NPM a partir do Código. Enquanto isto funciona, sinto-me Nodo.JS e NPM devem estar em algum lugar.
Como posso instalar o nó.JS e NPM em um comando no AWS Amazon Linux?
18 answers
sudo yum install nodejs npm --enablerepo=epel
EDIT 3: a partir de julho de 2016, EDIT 1 já não funciona para o nodejs 4 (e EDIT 2 nenhum dos dois). Esta resposta ([17]) https://stackoverflow.com/a/35165401/78935 dá um verdadeiro "One-liner".
EDIT 1: Se está à procura do nodejs 4, por favor tente o repo de teste do EPEL:
sudo yum install nodejs --enablerepo=epel-testing
Editar 2: para actualizar a partir do nodejs 0. 12 instalado através do repo EPEL usando o comando acima, para nodejs 4 do repo de testes EPEL, por favor siga estes passos:
sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing
Os pacotes mais recentes colocam os binários do nó em /usr/bin
, em vez de /usr/local/bin
.
e alguns antecedentes:
A opção --enablerepo=epel
faz com que yum
Procure pelos pacotes no repositório EPEL.
O EPEL (pacotes Extra para o Enterprise Linux) é um projecto de repositório de código aberto e comunidade livre da Fedora team que fornece pacotes adicionais de 100% de alta qualidade para distribuição Linux, incluindo RHEL (Red Hat Enterprise Linux), CentOS e Scientific Linux. O projeto Epel não faz parte do RHEL / Cent OS, mas é projetado para grandes distribuições Linux, fornecendo muitos pacotes de código aberto, como networking, sys admin, programação, monitoramento e assim por diante. A maioria dos pacotes epel são mantidos pela Fedora repo.
Via http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
$ curl --silent --location https://rpm.nodesource.com/setup_14.x | bash -
$ yum -y install nodejs
Também pode substituir o 14.x com outra versão, como 12.x, 10.x, etc.
Você pode ver todas as versões disponíveis na página NodeSource Github, e puxar a partir daí também se desejar.
Nota: poderá ter de correr usando sudo
dependendo do seu ambiente.
A resposta aceite deu-me o nó 0.10.36 e o npm 1.3.6, que estão muito desactualizados. Eu peguei o mais recente tarball linux-x64 da página de downloads do nodejs e não foi muito difícil de instalar: https://nodejs.org/dist/latest/.
# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz
Agora sobe o alcatrão que acabaste de descarregar.
tar xzf node.tgz
Execute este comando e depois adicione - o ao seu .bashrc
:
export PATH="$PATH:(your install dir)/(node dir)/bin"
(exemplo : localização da exportação = "$PATH:/home/ec2-user/mydirectory/node4.5. 0-linux-x64/bin")
E actualizar npm
(só uma vez, não adicionar a .bashrc
):
npm install -g npm
Note que o -g
que significa global, realmente significa global para essa instância que é a instância que acabamos de instalar e está limitada ao utilizador actual. Isto aplicar-se-á a todos os pacotes que o npm instala 'globalmente'.
Instalação simples com NVM...
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node
Para instalar uma determinada versão (como 12.16.3) do nó, mude a última linha para
nvm install 12.16.3
Para mais informações sobre como utilizar NVM visite os documentos: https://github.com/nvm-sh/nvm
O procedimento que funcionou para mim (a seguir estas instruções bastante antigas com algumas actualizações):
- verifique se o git está instalado
git --version
ou instale-o via:sudo yum install git
- instalar o gcc e o openssl:
sudo yum install gcc-c++ make
sudo yum install openssl-devel
- clone o git repo numa pasta chamada
node
(que poderá remover posteriormente):git clone https://github.com/nodejs/node.git
- decide qual a versão do nó que queres em https://github.com/nodejs/node/releases
- vai para o o directório do nó acabou de criar e instalar o nó
cd node
git checkout v6.1.0
- Coloque a sua versão desejada após av
./configure
make
sudo make install
- testa se esse nó está instalado / a funcionar com
node --version
ou simplesmentenode
(nó de saída viaprocess.exit()
ou^C
x 2 ou^C
+exit
) - verifique a versão npm:
npm --version
e actualize se necessário atravéssudo npm install -g npm
- opcional: remover a pasta
node
comrm -r node
Notas:
- o aceite a resposta não funcionou desde que
sudo yum install nodejs --enablerepo=epel-testing
devolve o erro:No package nodejs available.
...esudo yum install nodejs --enablerepo=epel
(ou seja, sem-testing
) só deu versões muito antigas. - Se já tiver uma versão antiga do node instalada, poderá removê-la com:
sudo npm uninstall npm -g
...uma vez que o npm pode desinstalar-se a si própriosudo yum erase nodejs
sudo rm -f /usr/local/bin/node
(sudo yum rm nodejs
na resposta aceite não vai funcionar porquerm
não é um comando yum válido veryum --help
) - é possível clonar o repo do nó via
git clone git://github.com/nodejs/node.git
em vez degit clone https://github.com/nodejs/node.git
mas pode haver vários erros (veja aqui ). - Se já tiver uma pasta
/node
de uma instalação anterior, remova-a antes de usar o comando de clones git (ou haverá um conflito):rm -r node
- Se tiver problemas com algum
sudo npm...
Tipo de comandosudo: npm: command not found
e / ou tiver problemas de permissões a instalar pacotes de nós sem o sudo, editesudo nano /etc/sudoers
e adicione:/usr/local/bin
ao fim da linhaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
de modo a lerDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
Para a versão V4 LTS use:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
Para o nó.js V6 utilizar:
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
Também tive alguns problemas ao tentar instalar addons nativos no Amazon Linux. Se você quiser fazer isso, você também deve instalar ferramentas de compilação:
yum install gcc-c++ make
Tutorial: A Configurar O Nó.js on an Amazon EC2 Instance
A essência do tutorial é:
- Certifica-te que estás a par do caso.
- apanha o nvm:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
- activo
. ~/.nvm/nvm.sh
- instalar o nó com o nvm
nvm install 4.4.5
(Nota: poderá escolher uma versão diferente. Verificar as versões remotas primeiro a correr$ nvm ls-remote
) - finalmente, teste se instalou correctamente o nó do nó, executando
$ node -e "console.log('Running Node.js' + process.version)"
sudo amazon-linux-extras install epel
...então você pode:
-
sudo yum install nodejs
Aqui estão os comandos que usei (extraídos do site do Nodejs com alguns passos extras para lidar com os dados do yum Cache):
-
sudo yum remove nodejs
: Nó De Desinstalação.js 6.x (não sei se isto era necessário ou não) -
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
-
sudo yum makecache
: regenerar a cache de meta-dados (isto não estava nos documentos, mas o yum continuou a tentar instalar o nó.jx 6.x, sem sucesso, até eu ter emitido estes dois últimos comandos) -
sudo yum install nodejs
: Nó De Instalação.js 8.x
sudo yum install nodejs npm --enablerepo=epel
funciona para Amazon Linux AMI
.
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
trabalha para o RedHat.
Https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
Documentação Oficial para o EC2-Instância funciona para mim: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
2. . ~/.nvm/nvm.sh
3. nvm ls-remote (=> find your version x.x.x =>) nvm install x.x.x
4. node -e "console.log('Running Node.js ' + process.version)"
Tal como mencionado na documentação oficial , abaixo de 2 passos -
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Resposta aceite recomendação: https://stackoverflow.com/a/35165401/78935
Equivalente de tarefa possível
tasks:
- name: Setting up the NodeJS yum repository
shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
args:
warn: no
# ...
Você pode atualizar / instalar o nó reinstalando o pacote instalado para a versão atual, o que pode nos salvar de muitos erros, enquanto faz a atualização.
Isto é feito por nvm com o comando abaixo. Aqui, eu atualizei minha versão node para 8 e reinstalei todos os pacotes disponíveis para v8 também!
nvm i v8 --reinstall-packages-from=default
Também funciona na instância AWS Linux.
Normalmente uso NVM para instalar o nó no servidor. Ele me dá a opção de instalar várias versões do nodejs. Os comandos são indicados abaixo
Curl-o - https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh / bash
Depois verifique se é instalado correctamente
Comando-v nvm
Depois disso, execute isto para instalar a versão mais recente
NVM install node
Ou
Nvm install 11
Como os outros mencionados ao usar epel
dá uma versão realmente desactualizada, aqui está um pequeno programa que acabei de escrever em vez de adicionar ao pipeline CI ou passá-lo para o ec2 user-data
para instalar a última versão do node, basta substituir o version
pelo que deseja, e o distro
Apropriado do Linux que está a usar.
O seguinte exemplo é para amazon-Linux-2-AMI
#!/bin/bash
version='v14.13.1'
distro='linux-x64'
package_name="node-$version-$distro"
package_location="/usr/local/lib/"
curl -O https://nodejs.org/download/release/latest/$package_name.tar.gz
tar -xvf $package_name.tar.gz -C $package_location
rm -rfv $package_name.tar.gz
echo "export PATH=$package_location/$package_name/bin:\$PATH" >> ~/.profile
Se quiser testá-lo na mesma concha, basta executar
. ~/.profile