Câu trả lời:
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 | bash
cho nút 5.x
Thay thế 5
bằng phiên bản nút mong muốn của bạn, ví dụ 8, 12, v.v.
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
/bin/sh: apt-get: command not found
/bin/sh: apk: command not found
sử dụngFROM amazonlinux:1
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
Đâ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
Bạn có thể thêm một dòng vào Dockerfile của bạn.
FROM node:8.2
Có một danh sách các tên thẻ được hỗ trợ tại đây: https://hub.docker.com/_/node/
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.
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.