He visto la escritura sobre el uso de yum para instalar las dependencias, y luego instalar Node.JS & NPM desde la fuente. Si bien esto funciona, siento que Node.JS y NPM deberían estar en un repositorio público en alguna parte.
¿Cómo puedo instalar Node.JS y NPM en un comando en AWS Amazon Linux?
node.js
amazon-web-services
npm
yum
amazon-linux
Tim Fulmer
fuente
fuente
Respuestas:
Tropecé con esto, fue extrañamente difícil de encontrar más tarde. Poniendo aquí para la posteridad:
EDIT 3: a partir de julio de 2016, EDIT 1 ya no funciona para nodejs 4 (y EDIT 2 tampoco). Esta respuesta ( https://stackoverflow.com/a/35165401/78935 ) ofrece una verdadera frase.
EDITAR 1: Si está buscando nodejs 4, intente con el repositorio de prueba EPEL:
EDITAR 2: Para actualizar desde nodejs 0.12 instalado a través del repositorio EPEL usando el comando anterior, a nodejs 4 desde el repositorio de pruebas EPEL, siga estos pasos:
Los paquetes más nuevos ponen los binarios del nodo en
/usr/bin
lugar de/usr/local/bin
.Y algunos antecedentes:
La opción
--enablerepo=epel
haceyum
que se busquen los paquetes en el repositorio EPEL.fuente
sudo npm install -g n
ysudo n v0.12
o cualquier otra versión que desee.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
sudo yum install nodejs --enablerepo=epel-testing
devuelve el error: "No hay paquetes nodejs disponibles". mientras quesudo yum install nodejs --enablerepo=epel
solo dio versiones muy antiguas ...Como otros, la respuesta aceptada también me dio una versión desactualizada.
Aquí hay otra forma de hacerlo que funciona muy bien:
También puede reemplazar el 12.x con otra versión, como 10.x, 8.x, etc.
Puede ver todas las versiones disponibles en la página de NodeSource Github , y extraer desde allí también si lo desea.
Nota: es posible que deba ejecutarlo
sudo
según su entorno.fuente
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 -
ysudo yum -y install nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
La respuesta aceptada me dio el nodo 0.10.36 y npm 1.3.6 que están muy desactualizados. Tomé el último tarball linux-x64 de la página de descargas de nodejs y no fue demasiado difícil de instalar: https://nodejs.org/dist/latest/ .
Ahora descomprime el tar que acabas de descargar:
Ejecute este comando y luego agréguelo a su
.bashrc
:(ejemplo: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
Y actualice
npm
(solo una vez, no agregue a.bashrc
):Tenga en cuenta que
-g
allí, que significa global, realmente significa global para esa instancia de npm, que es la instancia que acabamos de instalar y está limitada al usuario actual. Esto se aplicará a todos los paquetes que npm instala 'globalmente'.fuente
El procedimiento que funcionó para mí (siguiendo estas instrucciones bastante antiguas con algunas actualizaciones):
git --version
o instálelo a través de:sudo yum install git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
node
(que puede eliminar más adelante):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
; coloque la versión deseada después dev
./configure
make
sudo make install
node --version
o simplementenode
(salir del nodo a través deprocess.exit()
o^C
x 2 o^C
+exit
)npm --version
y actualice si es necesario a través desudo npm install -g npm
node
directorio conrm -r node
Notas:
sudo yum install nodejs --enablerepo=epel-testing
devuelve el error:No package nodejs available.
... y
sudo yum install nodejs --enablerepo=epel
(es decir, sin-testing
) solo dio versiones muy antiguas.sudo npm uninstall npm -g
... ya que npm puede desinstalarsesudo yum erase nodejs
sudo rm -f /usr/local/bin/node
(
sudo yum rm nodejs
en la respuesta aceptada no funcionará, yarm
que no es un comando yum válido, consulteyum --help
)git clone git://github.com/nodejs/node.git
lugar de hacerlo,git clone https://github.com/nodejs/node.git
pero puede obtener varios errores (consulte aquí )./node
directorio de una instalación anterior, elimínelo antes de usar el comando git clone (o habrá un conflicto):rm -r node
sudo npm...
comando, comosudo: npm: command not found
y / o tiene problemas de permisos para instalar paquetes de nodos sin sudo, editesudo nano /etc/sudoers
y agregue:/usr/local/bin
al final de la líneaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
para que se leaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
fuente
etc/sudoers
controles de archivos que pueden correr lo manda como lo que los usuarios en lo que las máquinas - pero sólo se ejecutarán / encontrar / mirada de los comandos que se encuentran en los directorios que aparecen en susecure_path
nodo debe ser instalado en/usr/local/bin
y si está allí sudo debe encontrarlo - ver stackoverflow .com / a / 31734090/3092596 Si sudo no lo encuentra, entonces que las necesidades de ruta que se añadirán a sudo desecure_path
- véase también: 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
Instalación simple con NVM ...
Para instalar una versión determinada (como 12.16.3) de Node, cambie la última línea a
Para obtener más información sobre cómo usar NVM, visite los documentos: https://github.com/nvm-sh/nvm
fuente
Para la versión v4 LTS use:
Para el uso de Node.js v6:
También tuve algunos problemas al intentar instalar complementos nativos en Amazon Linux. Si desea hacer esto, también debe instalar herramientas de compilación:
fuente
Acabo de encontrar esto. Probé algunas de las respuestas más populares, pero al final, lo que funcionó para mí fue la guía de configuración rápida de Amazon.
Tutorial: Configuración de Node.js en una instancia de Amazon EC2
La esencia del tutorial es:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
(NOTA: puede elegir una versión diferente. Compruebe primero las versiones remotas ejecutando$ nvm ls-remote
)$ node -e "console.log('Running Node.js' + process.version)"
Esperemos que esto ayude a la próxima persona.
fuente
Parece que nadie está mencionando esto. En Amazon Linux 2 , la forma oficial de cargar EPEL es:
sudo amazon-linux-extras install epel
... entonces puedes:
sudo yum install nodejs
Ver biblioteca adicional (Amazon Linux 2)
fuente
Tenía instalado Node.js 6.x y quería instalar Node.js 8.x.
Aquí están los comandos que utilicé (tomados del sitio de Nodejs con algunos pasos adicionales para manejar los datos en caché de yum):
sudo yum remove nodejs
: Desinstalar Node.js 6.x (no sé si esto era necesario o no)curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache
: Regenere el caché de metadatos (esto no estaba en los documentos, pero yum siguió intentando instalar Node.jx 6.x, sin éxito, hasta que emití estos dos últimos comandos)sudo yum install nodejs
: Instalar Node.js 8.xfuente
sudo yum install nodejs npm --enablerepo=epel
que funciona paraAmazon Linux AMI
.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
Funciona para RedHat.fuente
La solución más fácil es esta (hacer esto como root)
fuente
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
fuente
La documentación oficial para EC2-Instance funciona para mí: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
fuente
Como se menciona en la documentación oficial, simple a continuación 2 pasos:
fuente
Para aquellos que desean que la respuesta aceptada se ejecute en Ansible sin más búsquedas, publico la tarea aquí por conveniencia y referencia futura.
Recomendación de respuesta aceptada: https://stackoverflow.com/a/35165401/78935
Tarea equivalente equivalente
fuente
Puede actualizar / instalar el nodo reinstalando el paquete instalado en la versión actual que puede salvarnos de muchos errores, mientras realiza la actualización.
Esto lo hace nvm con el siguiente comando. ¡Aquí, actualicé mi versión de nodo a 8 y reinstalé todos los paquetes disponibles a v8 también!
Funciona también en la instancia de AWS Linux.
fuente