Cách cài đặt nút mới nhất bên trong một container docker


26

Làm cách nào để cài đặt nút mới nhất bên trong bộ chứa docker ub Ubuntu 15.10? apt-get install nodejscài đặt phiên bản 0.1 và không có npm

Cảm ơn


Bạn đã giải quyết nó? Đối với tôi, nó cài đặt npm v 3.10, không thể nhận được 6+
simPod

Câu trả lời:


31

OK đã nhận nó,

# 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

Sử dụng curl -sL https://deb.nodesource.com/setup_5.x | bashcho nút 5.x

Thay thế 5bằng phiên bản nút mong muốn của bạn, ví dụ 8, 12, v.v.


12
Tôi đã thấy các hướng dẫn tương tự trên tất cả các trang web nhưng tôi không thể cài đặt nó để cài đặt npm. Sau khi chạy apt-get -y install nodejs, chạy lệnh npm không hoạt động. Tôi nhận được/bin/sh: 1: npm: not found
Alex White

Tôi có cùng một vấn đề.
Và cuối cùng là

Nếu tôi muốn có phiên bản chính xác là 8.9.4 thì sao? Lệnh trên thất bại.
Sourav Prem

2
Xem này . Trong phần README, nó giải thích làm thế nào để có được phiên bản khác nhau. Ngoài ra, 4 đang hết hạn sử dụng, vì vậy đừng sử dụng chính xác lệnh trên.
Nathaniel Ford

/bin/sh: apt-get: command not found /bin/sh: apk: command not foundsử dụngFROM amazonlinux:1
OZZIE

14

Giải pháp cập nhật kể từ tháng 1 năm 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

nhưng bằng cách này bạn có được phiên bản 11 mới nhất của nodejs. Nếu bạn muốn 11,5.4 thì sao?
Claudiu Creanga

Đáng lẽ phải giảm xuống các phiên bản nhỏ trong sổ đăng ký gỡ lỗi đó, chỉ cần thay thế X bằng 5.4 (chưa được kiểm tra về phía tôi)
Dan

Đây không phải là thực hành tốt. Bạn sẽ không chạy nó như root!
Khalid

10

Đây là cách tôi đã cài đặt nodeJS vào một thùng chứa. Trong trường hợp của tôi, tôi đang sử dụng một hình ảnh cơ sở nginx.

Sử dụng lệnh sau

    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 là cần thiết bởi trình cài đặt nodeJS. Không có nó, bạn sẽ nhận được thông báo lỗi sau;

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


2

cài đặt nodejs v8 với hình ảnh cơ sở 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

Tôi cũng đã cài đặt một số phụ thuộc bổ sung mà tôi cần để bạn có thể dọn sạch mã này cho nhu cầu của mình. Nhưng nó cài đặt nodejs & npm & gật đầu.


1

Tôi đang sử dụng Dockerfile sau để thiết lập phiên bản nút 8.10.0.

Ở đây tôi đã sử dụng NVM (Trình quản lý phiên bản nút) , vì vậy chúng ta có thể chọn phiên bản nút nào sẽ được cài đặt trên thùng chứa đó. Vui lòng sử dụng đường dẫn tuyệt đối của npm khi cài đặt các mô-đun nút (ví dụ: /root/.nvm/versions/node/v$ nbNODE_VERSION Bolog / bin / npm cài đặt leasot @ mới nhất -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

Lưu ý: Đây là một Dockerfile đã cắt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.