node.js - example - aws-sdk typescript
Cómo yum instalar Node.JS en Amazon Linux (16)
He visto la escritura sobre el uso de yum para instalar las dependencias, y luego la instalación de 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?
Acabo de encontrar esto. Intenté 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:
- Asegúrate de estar en la instancia.
-
Grab nvm:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
-
Activo
. ~/.nvm/nvm.sh
. ~/.nvm/nvm.sh
-
Instale el nodo usando nvm
nvm install 4.4.5
(NOTA: puede elegir una versión diferente. Consulte primero las versiones remotas ejecutando$ nvm ls-remote
) -
Finalmente, pruebe que ha instalado el nodo Nodo correctamente ejecutando
$ node -e "console.log(''Running Node.js'' + process.version)"
Esperemos que esto ayude a la próxima persona.
Como otros, la respuesta aceptada también me dio una versión desactualizada.
Aquí hay otra forma de hacerlo que funciona muy bien:
$ curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
$ yum -y install nodejs
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 ejecutar
sudo
según su entorno.
Como se menciona en la documentación oficial, simple a continuación 2 pasos:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
El procedimiento que funcionó para mí (siguiendo these instrucciones bastante antiguas con algunas actualizaciones):
-
compruebe que git está instalado
git --version
o instálelo a través de:
sudo yum install git
-
instale gcc y openssl:
sudo yum install gcc-c++ make
sudo yum install openssl-devel
-
clone el repositorio de git en un directorio llamado
node
(que puede eliminar más adelante):
git clone https://github.com/nodejs/node.git
- decida qué versión de nodo desea en https://github.com/nodejs/node/releases
-
vaya al directorio de nodos que acaba de crear e instale el nodo
cd node
git checkout v6.1.0
: coloque la versión deseada después de lav
./configure
make
sudo make install
-
pruebe que el nodo está instalado / trabajando con el
node --version
o simplemente elnode
(nodo de salida a través deprocess.exit()
o^C
x 2 o^C
+exit
) -
verifique la versión npm:
npm --version
y actualice si es necesario a través desudo npm install -g npm
-
Opcional: elimine el directorio de
node
conrm -r node
Notas:
-
La respuesta aceptada no funcionó ya que
sudo yum install nodejs --enablerepo=epel-testing
devuelve el error:No package nodejs available.
... ysudo yum install nodejs --enablerepo=epel
(es decir, sin-testing
) solo dieron versiones muy antiguas. -
Si ya tiene instalada una versión anterior del nodo, puede eliminarla con:
sudo npm uninstall npm -g
... ya que npm puede desinstalarse
sudo yum erase nodejs
sudo rm -f /usr/local/bin/node
(sudo yum rm nodejs
en la respuesta aceptada no funcionará ya querm
no es un comando yum válido veryum --help
) -
Es posible clonar el repositorio de nodo a través de
git clone git://github.com/nodejs/node.git
lugar degit clone https://github.com/nodejs/node.git
pero puede obtener varios errores (consulte here ) -
Si ya tiene un directorio
/node
de una instalación anterior, elimínelo antes de usar el comando git clone (o habrá un conflicto):
rm -r node
-
Si tiene problemas con cualquier comando
sudo npm...
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
a 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
Instalación simple con NVM ...
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
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
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)"
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/ .
# 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
Ahora descomprime el tar que acabas de descargar:
tar xzf node.tgz
Ejecute este comando y luego agréguelo a su
.bashrc
:
export PATH="$PATH:(your install dir)/(node dir)/bin"
(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
):
npm install -g npm
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''.
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://.com/a/35165401/78935
Tarea equivalente equivalente
tasks:
- name: Setting up the NodeJS yum repository
shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
args:
warn: no
# ...
Para la versión v4 LTS use:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
Para el uso de Node.js v6:
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
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:
yum install gcc-c++ make
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
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!
nvm i v8 --reinstall-packages-from=default
Funciona también en la instancia de AWS Linux.
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 fue necesario o no) -
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
-
sudo yum clean all
-
sudo yum makecache
: regenerar 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
: Install Node.js 8.x
Tropecé con esto, fue extrañamente difícil de encontrar más tarde. Poniendo aquí para la posteridad:
sudo yum install nodejs npm --enablerepo=epel
EDIT 3: a partir de julio de 2016, EDIT 1 ya no funciona para nodejs 4 (y EDIT 2 tampoco). Esta respuesta ( https://.com/a/35165401/78935 ) ofrece una verdadera frase.
EDITAR 1: si está buscando nodejs 4, intente con el repositorio de prueba EPEL:
sudo yum install nodejs --enablerepo=epel-testing
EDITAR 2: Para actualizar desde nodejs 0.12 instalado a través del repositorio EPEL utilizando el comando anterior, a nodejs 4 desde el repositorio de pruebas EPEL, siga estos pasos:
sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing
Los paquetes más nuevos ponen los binarios del nodo en
/usr/bin
, en lugar de
/usr/local/bin
.
Y algunos antecedentes:
La opción
--enablerepo=epel
hace que
yum
busque los paquetes en el repositorio EPEL.
EPEL (Extra Packages for Enterprise Linux) es un proyecto de repositorio basado en la comunidad de código abierto y gratuito del equipo de Fedora que proporciona paquetes de software complementarios 100% de alta calidad para la distribución de Linux, incluidos RHEL (Red Hat Enterprise Linux), CentOS y Scientific Linux. El proyecto Epel no forma parte del sistema operativo RHEL / Cent, pero está diseñado para las principales distribuciones de Linux al proporcionar muchos paquetes de código abierto como redes, administración de sistemas, programación, monitoreo, etc. La mayoría de los paquetes de epel son mantenidos por el repositorio de Fedora.
Vía http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
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
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
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
funciona para RedHat.