我有以下Dockerfile:
FROM ubuntu
USER root
RUN apt-get update && apt-get install curl -y
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get upgrade -y && apt-get install nodejs -y
RUN mkdir /opt/public
RUN mkdir /opt/bin
ADD public /opt/public
ADD bin /opt/bin
RUN ls -lah /opt/bin
RUN ls -lah /opt/public
ADD run.sh /bin/run.sh
RUN chmod +x /bin/run.sh
RUN cd /opt/bin && npm install
CMD ["/bin/run.sh"]
构建容器时,出现此错误:
/ bin / sh:1:npm:找不到
出什么问题了?你能帮我吗?
答案 0 :(得分:1)
尝试在构建映像时分别安装npm
:
RUN apt-get update && apt-get upgrade -y && \
apt-get install -y nodejs \
npm # note this one
答案 1 :(得分:1)
Node
也包 npm
,所以不需要像 Yury 提到的那样安装 npm
。这样做通常是个坏主意,因为您无法控制 nodejs
和 npm
版本
对我来说答案很简单。我有以下代码:
# install nodejs
RUN curl --silent --location https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -y \
nodejs
RUN echo "Node: " && node -v
RUN echo "NPM: " && npm -v
但是我必须安装 curl,所以它失败了。所以在此之前,你需要安装 curl:
RUN apt-get update && apt-get install -y curl