gpt4 book ai didi

Dockerfile返回在构建中找不到的npm

转载 作者:行者123 更新时间:2023-12-04 16:42:11 24 4
gpt4 key购买 nike

我对Docker真的很陌生,想创建一个容器,其中包含我所有的Ruby on Rails网站及其依赖项。我阅读了大量的文档和操作方法,但是我一直在努力。

由于我使用Rubymine,因此有一个内置工具可让您从其中创建的Dockerfile中对当前项目进行Docker化。但是,当NodeJS 应该安装时,我仍然出现错误“npm not found”。

这是我的Dockerfile:

FROM ruby:2.4.3
MAINTAINER Jaeger
RUN apt-get update -qq && apt-get install -y build-essential nodejs

RUN mkdir -p /app
WORKDIR /app

COPY package.json /app
RUN npm i -g yarn && yarn

COPY Gemfile Gemfile.lock ./
RUN gem install bundler && bundle install --jobs 20 --retry 5
RUN yarn

COPY . ./

EXPOSE 3000

CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]

最终的目标应该是,因为我在其中使用了Webpacker和React(这是一个测试的虚拟项目,但是真正的网站具有此功能),所以我想安装Yarn,并让Yarn安装所有依赖程序。

我发现其他一些人也遇到了同样的问题,但是却迷失了方向,无法理解Docker层的概念,并试图复制一些也不起作用的代码

最佳答案

在运行npm install之前,您需要在容器中显式安装node/npm。将此添加到您的Dockerfile中。

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

关于Dockerfile返回在构建中找不到的npm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com