Eu vi o artigo sobre o uso do yum para instalar as dependências e a instalação do Node.JS & NPM a partir da fonte. Enquanto isso funciona, eu sinto que o Node.JS e o NPM deveriam estar em um repositório público em algum lugar.
Como posso instalar o Node.JS e o NPM em um comando no AWS Amazon Linux?
node.js
amazon-web-services
npm
yum
amazon-linux
Tim Fulmer
fonte
fonte
Respostas:
Tropecei nisso, foi estranhamente difícil de encontrar novamente mais tarde. Colocando aqui para a posteridade:
EDIT 3: Em julho de 2016, a EDIT 1 não funciona mais para o nodejs 4 (e a EDIT 2 também). Esta resposta ( https://stackoverflow.com/a/35165401/78935 ) fornece uma verdadeira linha única.
EDIT 1: Se você estiver procurando pelo nodejs 4, tente o repositório de testes EPEL:
EDIT 2: Para atualizar do nodejs 0.12 instalado por meio do repositório EPEL usando o comando acima, para o nodejs 4 do repositório de testes EPEL, siga estas etapas:
Os pacotes mais recentes colocam os binários do nó
/usr/bin
, em vez de/usr/local/bin
.E alguns antecedentes:
A opção
--enablerepo=epel
fazyum
com que procure os pacotes no repositório EPEL.fonte
sudo npm install -g n
e /sudo n v0.12
ou qualquer outra versão que você quiser.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
sudo yum install nodejs --enablerepo=epel-testing
retorna o erro: "Nenhum pacote nodejs disponível." enquantosudo yum install nodejs --enablerepo=epel
só deu versões muito antigas ...Como outros, a resposta aceita também me deu uma versão desatualizada.
Aqui está outra maneira de fazer isso que funciona muito bem:
Você também pode substituir o 12.x por outra versão, como 10.x, 8.x, etc.
Você pode ver todas as versões disponíveis na página do NodeSource Github e extraí - las também, se desejar.
Nota: pode ser necessário executar usando
sudo
dependendo do seu ambiente.fonte
npm install
parapackage.json
,curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
esudo yum -y install nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
A resposta aceita me deu o nó 0.10.36 e o npm 1.3.6, que estão muito desatualizados. Peguei o tarball mais recente do linux-x64 na página de downloads do nodejs e não foi muito difícil de instalar: https://nodejs.org/dist/latest/ .
Agora descompacte o alcatrão que você acabou de baixar -
Execute este comando e adicione-o também ao seu
.bashrc
:(exemplo: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
E atualize
npm
(apenas uma vez, não adicione a.bashrc
):Observe que
-g
lá, que significa global, realmente significa global para a instância npm, que é a instância que acabamos de instalar e é limitada ao usuário atual. Isso se aplicará a todos os pacotes que o npm instala 'globalmente'.fonte
O procedimento que funcionou para mim (seguindo estas instruções bastante antigas com algumas atualizações):
git --version
ou instale-o via:sudo yum install git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
node
(que você pode remover posteriormente):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- coloque a versão desejada após ov
./configure
make
sudo make install
node --version
ou simplesmentenode
(nó de saída viaprocess.exit()
ou^C
x 2 ou^C
+exit
)npm --version
e atualize, se necessário, viasudo npm install -g npm
node
diretório comrm -r node
Notas:
sudo yum install nodejs --enablerepo=epel-testing
retorna o erro:No package nodejs available.
... e
sudo yum install nodejs --enablerepo=epel
(ou seja, sem-testing
) deu apenas versões muito antigas.sudo npm uninstall npm -g
... como o npm pode desinstalar-sesudo yum erase nodejs
sudo rm -f /usr/local/bin/node
(
sudo yum rm nodejs
a resposta aceita não funcionará, poisrm
não é um comando válido do yum, consulteyum --help
)git clone git://github.com/nodejs/node.git
vez de,git clone https://github.com/nodejs/node.git
mas você pode obter vários erros (veja aqui )./node
dir de uma instalação anterior, remova-o antes de usar o comando git clone (ou haverá um conflito):rm -r node
sudo npm...
comandosudo: npm: command not found
e / ou tiver problemas de permissão na instalação de pacotes de nós sem o sudo, editesudo nano /etc/sudoers
e inclua:/usr/local/bin
no final da linhaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
para que leiaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
fonte
etc/sudoers
arquivo controla quem pode executar quais comandos e quais usuários em quais máquinas - mas apenas executará / encontrará / procurará comandos que estão nos diretórios listados em seusecure_path
Nó e devem ser instalados/usr/local/bin
e, se houver, o sudo deve encontrá-lo - consulte stackoverflow .com / a / 31734090/3092596 Se o sudo não o encontrar, esse caminho precisará ser adicionado ao sudosecure_path
- veja também: superuser.com/a/927599/404543sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
Instalação simples com NVM ...
Para instalar uma determinada versão (como 12.16.3) do Nó, altere a última linha para
Para obter mais informações sobre como usar o NVM, visite os documentos: https://github.com/nvm-sh/nvm
fonte
Para a versão v4 LTS, use:
Para o Node.js v6, use:
Eu também tive alguns problemas ao tentar instalar complementos nativos no Amazon Linux. Se você quiser fazer isso, também deve instalar ferramentas de construção:
fonte
Acabei de me deparar com isso. Tentei algumas das respostas mais populares, mas no final, o que funcionou para mim foi o guia de configuração rápida da Amazon.
Tutorial: Configurando o Node.js em uma instância do Amazon EC2
A essência do tutorial é:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
(NOTA: você pode escolher uma versão diferente. Verifique primeiro as versões remotas executando$ nvm ls-remote
)$ node -e "console.log('Running Node.js' + process.version)"
Espero que isso ajude a próxima pessoa.
fonte
Parece que ninguém está mencionando isso. No Amazon Linux 2 , a maneira oficial de carregar o EPEL é:
sudo amazon-linux-extras install epel
... então você pode:
sudo yum install nodejs
Consulte Biblioteca de extras (Amazon Linux 2)
fonte
Eu tinha o Node.js 6.x instalado e queria instalar o Node.js 8.x.
Aqui estão os comandos que usei (extraídos do site do Nodejs com algumas etapas extras para manipular os dados em cache do yum):
sudo yum remove nodejs
: Desinstalar o Node.js 6.x (não sei se isso foi necessário ou não)curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache
: Regenere o cache de metadados (isso não estava nos documentos, mas o yum continuou tentando instalar o Node.jx 6.x, sem êxito, até que eu emiti esses dois últimos comandos)sudo yum install nodejs
: Instale o Node.js 8.xfonte
sudo yum install nodejs npm --enablerepo=epel
trabalha paraAmazon Linux AMI
.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
trabalha para RedHat.fonte
A solução mais fácil é essa (faça isso como root)
fonte
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
fonte
A documentação oficial da instância EC2 funciona para mim: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
fonte
Conforme mencionado na documentação oficial, simples abaixo de 2 etapas -
fonte
Para aqueles que desejam que a resposta aceita seja executada no Ansible sem pesquisas adicionais, postarei a tarefa aqui para conveniência e referência futura.
Recomendação de resposta aceita: https://stackoverflow.com/a/35165401/78935
Tarefa equivalente equivalente
fonte
Você pode atualizar / instalar o nó reinstalando o pacote instalado na versão atual, o que pode nos salvar de muitos erros enquanto faz a atualização.
Isso é feito pelo nvm com o comando abaixo. Aqui, atualizei a versão do meu nó para 8 e reinstalei todos os pacotes disponíveis para a v8 também!
Também funciona na instância do AWS Linux.
fonte