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

Tomasz
sumber
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.

Tomasz
sumber
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
Dan
sumber
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
Sage
sumber
4

Anda dapat menambahkan satu baris ke Dockerfile Anda.

FROM node:8.2

Ada daftar nama tag yang didukung di sini: https://hub.docker.com/_/node/

laboratorium posit
sumber
27
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.

Lukas
sumber
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.

Sijo M Cyril
sumber