Saya telah melihat instruksi yang sama di seluruh web tetapi saya tidak dapat menginstalnya. Setelah menjalankan apt-get -y install nodejs, menjalankan perintah npm tidak berfungsi. Saya mendapatkan/bin/sh: 1: npm: not found
Alex White
Saya memiliki masalah yang sama.
Dan Akhirnya,
Bagaimana jika saya ingin memiliki versi persis 8.9.4? Perintah di atas gagal.
Sourav Prem
2
Lihat ini . Di bagian README ini menjelaskan cara mendapatkan versi yang berbeda. Juga, 4 sedang habis masa pakainya, jadi jangan gunakan perintah di atas dengan tepat.
Nathaniel Ford
/bin/sh: apt-get: command not found/bin/sh: apk: command not foundmenggunakanFROM amazonlinux:1
OZZIE
14
Solusi yang diperbarui pada Jan 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
Jawaban ini tidak membantu siapa pun yang menggunakan gambar dasar yang berbeda.
Charles Offenbacher
Kemudian mereka dapat menggunakan jawaban Tomasz
posit labs
2
menginstal nodejs v8 dengan gambar dasar 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
Saya juga menginstal beberapa dependensi tambahan yang saya butuhkan sehingga Anda dapat membersihkan kode ini untuk kebutuhan Anda. Tetapi ia menginstal nodejs & npm & nodemon.
Saya menggunakan Dockerfile berikut untuk mengatur simpul versi 8.10.0.
Di sini saya telah menggunakan NVM (Node Version Manager) , jadi kita dapat memilih versi node mana yang harus diinstal pada wadah itu. Silakan gunakan jalur absolut npm ketika memasang modul simpul (mis: /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
Jawaban:
OK mengerti,
Gunakan
curl -sL https://deb.nodesource.com/setup_5.x | bash
untuk simpul 5.xGanti
5
dengan versi simpul yang Anda inginkan misalnya 8, 12, dll.sumber
apt-get -y install nodejs
, menjalankan perintah npm tidak berfungsi. Saya mendapatkan/bin/sh: 1: npm: not found
/bin/sh: apt-get: command not found
/bin/sh: apk: command not found
menggunakanFROM amazonlinux:1
Solusi yang diperbarui pada Jan 2019:
sumber
Ini adalah bagaimana saya telah menginstal nodeJS ke sebuah wadah. Dalam kasus saya, saya menggunakan gambar dasar nginx.
Gunakan perintah berikut
GNUPG dibutuhkan oleh installer nodeJS. Tanpa itu, Anda akan mendapatkan pesan kesalahan berikut;
sumber
Anda dapat menambahkan satu baris ke Dockerfile Anda.
Ada daftar nama tag yang didukung di sini: https://hub.docker.com/_/node/
sumber
menginstal nodejs v8 dengan gambar dasar ubuntu 16.04:
Saya juga menginstal beberapa dependensi tambahan yang saya butuhkan sehingga Anda dapat membersihkan kode ini untuk kebutuhan Anda. Tetapi ia menginstal nodejs & npm & nodemon.
sumber
Saya menggunakan Dockerfile berikut untuk mengatur simpul versi 8.10.0.
Di sini saya telah menggunakan NVM (Node Version Manager) , jadi kita dapat memilih versi node mana yang harus diinstal pada wadah itu. Silakan gunakan jalur absolut npm ketika memasang modul simpul (mis: /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install leasot @ latest -g)
Catatan: Ini adalah Dockerfile yang dipangkas.
sumber