He visto estas mismas instrucciones en toda la web, pero no consigo que instale npm. Después de ejecutar el apt-get -y install nodejs, ejecutar un comando npm no funciona. Obtengo/bin/sh: 1: npm: not found
Alex White
Tengo el mismo problema.
Y finalmente
¿Qué sucede si quiero tener la versión exacta como 8.9.4? El comando anterior falla.
Sourav Prem
2
Mira esto . En la sección README, explica cómo obtener una versión diferente. Además, 4 está siendo finalizado, así que no use el comando anterior exactamente.
Nathaniel Ford el
/bin/sh: apt-get: command not found/bin/sh: apk: command not foundusandoFROM amazonlinux:1
OZZIE
14
Solución actualizada a partir de enero de 2019:
FROM ubuntu:latest
USER root
WORKDIR /home/app
COPY ./package.json /home/app/package.json
RUN apt-get update
RUN apt-get -y install curl gnupg
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
RUN apt-get -y install nodejs
RUN npm install
Esta respuesta no ayuda a nadie que use una imagen base diferente.
Charles Offenbacher el
Luego pueden usar la respuesta de Tomasz
posit labs
2
instalación de nodejs v8 con la imagen base de ubuntu 16.04:
FROM ubuntu:16.04
WORKDIR /app
RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment
RUN echo "LANG=en_US.UTF-8" >> /etc/environment
RUN echo "NODE_ENV=development" >> /etc/environment
RUN more "/etc/environment"
#RUN locale-gen en_US en_US.UTF-8
#RUN dpkg-reconfigure locales
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get dist-upgrade -y
RUN apt-get install curl htop git zip nano ncdu build-essential chrpath libssl-dev libxft-dev pkg-config glib2.0-dev libexpat1-dev gobject-introspection python-gi-dev apt-transport-https libgirepository1.0-dev libtiff5-dev libjpeg-turbo8-dev libgsf-1-dev fail2ban nginx -y
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install --yes nodejs
RUN node -v
RUN npm -v
RUN npm i -g nodemon
RUN nodemon -v
# Cleanup
RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y
También instalé algunas dependencias adicionales que necesito para que pueda limpiar este código según sus necesidades. Pero instala nodejs & npm & nodemon.
Estoy usando el siguiente Dockerfile para configurar el nodo versión 8.10.0.
Aquí he usado NVM (Node Version Manager) , para que podamos elegir qué versión de nodo se debe instalar en ese contenedor. Utilice la ruta absoluta de npm al instalar módulos de nodo (por ejemplo: /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install leasot @ latest -g)
FROM ubuntu:18.04
ENV NODE_VERSION=8.10.0
RUN apt-get update && \
apt-get install wget curl ca-certificates rsync -y
RUN wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
ENV NVM_DIR=/root/.nvm
RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" && nvm use v${NODE_VERSION}
RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION}
RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/node /usr/bin/
RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm /usr/bin/
RUN /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install leasot@latest -g
Respuestas:
Ok lo tengo,
Uso
curl -sL https://deb.nodesource.com/setup_5.x | bash
para el nodo 5.xReemplace
5
por la versión de nodo deseada, por ejemplo, 8, 12, etc.fuente
apt-get -y install nodejs
, ejecutar un comando npm no funciona. Obtengo/bin/sh: 1: npm: not found
/bin/sh: apt-get: command not found
/bin/sh: apk: command not found
usandoFROM amazonlinux:1
Solución actualizada a partir de enero de 2019:
fuente
Así es como he estado instalando nodeJS en un contenedor. En mi caso, estoy usando una imagen base nginx.
Usa el siguiente comando
GNUPG es necesario para el instalador de nodeJS. Sin él, recibirá el siguiente mensaje de error;
fuente
Puede agregar una sola línea a su Dockerfile.
Aquí hay una lista de nombres de etiquetas compatibles: https://hub.docker.com/_/node/
fuente
instalación de nodejs v8 con la imagen base de ubuntu 16.04:
También instalé algunas dependencias adicionales que necesito para que pueda limpiar este código según sus necesidades. Pero instala nodejs & npm & nodemon.
fuente
Estoy usando el siguiente Dockerfile para configurar el nodo versión 8.10.0.
Aquí he usado NVM (Node Version Manager) , para que podamos elegir qué versión de nodo se debe instalar en ese contenedor. Utilice la ruta absoluta de npm al instalar módulos de nodo (por ejemplo: /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install leasot @ latest -g)
Nota: Este es un Dockerfile recortado.
fuente