Cara menginstal simpul terbaru di dalam wadah buruh pelabuhan


26

Bagaimana cara menginstal simpul terbaru di dalam wadah docker ubuntu 15.10? apt-get install nodejsmenginstal versi 0.1 dan tidak ada npm

Terima kasih


Apakah Anda menyelesaikannya? Bagi saya itu menginstal npm v 3.10, tidak bisa mendapatkan 6+
simPod

Jawaban:


31

OK mengerti,

# update 
apt-get update
# install curl 
apt-get install curl
# get install script and pass it to execute: 
curl -sL https://deb.nodesource.com/setup_4.x | bash
# and install node 
apt-get install nodejs
# confirm that it was successful 
node -v
# npm installs automatically 
npm -v

Gunakan curl -sL https://deb.nodesource.com/setup_5.x | bashuntuk simpul 5.x

Ganti 5dengan versi simpul yang Anda inginkan misalnya 8, 12, dll.


12
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

tetapi dengan cara ini Anda mendapatkan versi terbaru dari nodejs. bagaimana jika Anda ingin 11.5.4?
Claudiu Creanga

Seharusnya turun ke versi minor di deb registry itu, cukup ganti X dengan 5.4 (belum teruji di sisi saya)
Dan

Ini bukan praktik yang baik. Anda tidak akan menjalankannya sebagai root!
Khalid

10

Ini adalah bagaimana saya telah menginstal nodeJS ke sebuah wadah. Dalam kasus saya, saya menggunakan gambar dasar nginx.

Gunakan perintah berikut

    apt-get update -yq \
    && apt-get install curl gnupg -yq \
    && curl -sL https://deb.nodesource.com/setup_8.x | bash \
    && apt-get install nodejs -yq

GNUPG dibutuhkan oleh installer nodeJS. Tanpa itu, Anda akan mendapatkan pesan kesalahan berikut;

[91mE: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation


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.


1

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

Catatan: Ini adalah Dockerfile yang dipangkas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.