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/binlugar de/usr/local/bin.Y algunos antecedentes:
La opción
--enablerepo=epelhaceyumque se busquen los paquetes en el repositorio EPEL.fuente
sudo npm install -g nysudo n v0.12o cualquier otra versión que desee.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodesudo yum install nodejs --enablerepo=epel-testingdevuelve el error: "No hay paquetes nodejs disponibles". mientras quesudo yum install nodejs --enablerepo=epelsolo 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
sudosegún su entorno.fuente
npm installparapackage.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 nodejscurl --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
-gallí, 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 --versiono instálelo a través de:sudo yum install gitsudo yum install gcc-c++ makesudo yum install openssl-develnode(que puede eliminar más adelante):git clone https://github.com/nodejs/node.gitcd nodegit checkout v6.1.0; coloque la versión deseada después dev./configuremakesudo make installnode --versiono simplementenode(salir del nodo a través deprocess.exit()o^Cx 2 o^C+exit)npm --versiony actualice si es necesario a través desudo npm install -g npmnodedirectorio conrm -r nodeNotas:
sudo yum install nodejs --enablerepo=epel-testingdevuelve 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 nodejssudo rm -f /usr/local/bin/node(
sudo yum rm nodejsen la respuesta aceptada no funcionará, yarmque no es un comando yum válido, consulteyum --help)git clone git://github.com/nodejs/node.gitlugar de hacerlo,git clone https://github.com/nodejs/node.gitpero puede obtener varios errores (consulte aquí )./nodedirectorio de una instalación anterior, elimínelo antes de usar el comando git clone (o habrá un conflicto):rm -r nodesudo npm...comando, comosudo: npm: command not foundy / o tiene problemas de permisos para instalar paquetes de nodos sin sudo, editesudo nano /etc/sudoersy agregue:/usr/local/binal final de la líneaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/binpara que se leaDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/binfuente
etc/sudoerscontroles 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_pathnodo debe ser instalado en/usr/local/biny 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-wafInstalació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.shnvm 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 nodejsVer 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 allsudo 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=epelque funciona paraAmazon Linux AMI.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejsFunciona 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 nodejsfuente
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