当前位置: 首页 > 知识库问答 >
问题:

“错误:无法构建gem本机扩展”构建Docker映像

严书
2023-03-14

我正在尝试基于ruby: 3.0构建Docker映像。在Dockerfile中,运行“RUN bundle install”时,开始安装依赖项,直到显示错误:

Gem::Ext::BuildError:错误:未能生成Gem本机扩展#10 34.20 34.20当前目录:/usr/local/bundle/gems/tiny_tds-2.1.5/ext/tiny-tds#10 34.2/usr/local/bin/ruby-I/usr/local/lib/ruby/3.0.0-r#10 34.0/siteconf20220804-7-s3hvms。rbextconf。rb#10 34.20在以下目录中查找freetds标头:#10 34.30-/opt/local/include#;10 35.20-/opts/local/include/freetds#-10 34.21-/usr/local/include#.10 34.2-/usr/local/include/freetds 34.20/local/lib/freetds#10 34.20-/usr/local/lib#10 34.21-/usr/local/lib/freetds

通常,这个问题可以通过安装正在使用的linux发行版头文件来解决,但在这种情况下,我不知道如何解决。

泊坞文件是这样的:

FROM ruby:3.0

## throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1

WORKDIR /usr/src/app

COPY Gemfile Gemfile.lock ./

RUN gem i bundler
RUN bundle install

COPY . .

CMD ["rails c"]

我尝试将其添加到Dockerfile,但显示了另一个错误:

RUN apt-get install ruby-dev

预先非常感谢任何能帮助我的人。

共有2个答案

赵朝
2023-03-14

我在Dockerfile中运行<code>运行apt-get-install-ruby-dev

我改成贝娄。除了你可以添加其他库,比如nodejspostgresql-client…我已经在这里咨询过了https://docs.docker.com/samples/rails/

RUN apt-get update -qq && apt-get install -yq --no-install-recommends \
    libpq-dev \
    ruby-dev

RUN apt-get update -qq && apt-get install -y ruby-dev
穆阳嘉
2023-03-14

尝试建立在3.0克星的形象,因为我认为这是额外的软件包。更多信息在这里:https://hub.docker.com/_/ruby

 类似资料:
  • 问题内容: 我正在尝试将MySQL安装到最新版本,这是因为某些安装错误。我运行命令,并且收到以下信息: 构建本机扩展。这可能需要一段时间…错误:安装mysql时出错:错误:无法生成gem本机扩展。 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb extconf.rb:4:警告:PATH模式

  • 问题内容: 我正在尝试使用Rails 3.2.3安装mysql2 gem,但失败了: 我正在运行捆绑安装,这在我的Gemfile中: 我目前已经通过MAMP运行MySQL。我不确定这是否是个坏主意,我应该运行香草MySQl,但似乎我当前的问题只是安装gem。我在stackoverflow上已经看到了很多这样的问题,但是似乎都有些不同或解决方案非常复杂。有什么我想念的吗?简单吗?有点蠢吗?如果需要,

  • 问题内容: 尝试为Rails 安装gem 时遇到一些问题。当我尝试通过运行安装它时,或者出现以下错误: 安装mysql2时出错:错误:无法构建gem本机扩展。 如何解决此问题并成功安装? 问题答案: 在Ubuntu / Debian和其他使用aptitude的发行版上: 软件包已被淘汰,并由代替。这是我找到解决方案的地方。 如果上述命令由于找不到而无法使用,则以下内容就足够了: 在Red Hat

  • 问题内容: 操作系统:Mac OS X 10.10.3 XCode:最新安装了命令行工具(6.3版)Rails:4.2.1版Ruby:2.2.1版 当我收到一条错误消息时,我试图为正在处理的项目生成路由(定期执行此操作),并建议我捆绑安装并捆绑执行。我这样做了,这一次,编译JSON Gem(版本1.7.7)的过程中断了。 对StackOverflow进行了一些研究,建议是更新Xcode的命令行工具

  • 问题内容: 我正在使用Fedora 14,并且已安装并正在运行MySQL和MySQL服务器5.1.42。现在,我尝试以root用户身份执行此操作: 但是我得到这个错误: 怎么了 在已安装的Ruby 1.8.7中。以及最新的rubygems 1.3.7。 问题答案: 对于那些可能对接受的答案感到困惑的人,就像我一样,您还需要安装ruby标头[ ruby-devel ]。 保存我的皮革的文章在这里。

  • 我正在尝试将rails应用程序部署到我的ubuntu linux服务器上。我正在使用capistrano和bundler,当安装gems时,它会失败,并出现以下错误: 我运行的是ruby enterprise edition 1.8.7,如果不升级其他网站,我就无法升级ruby,所以现在这不是一个选项。我尝试安装ruby dev,但没有任何帮助(我不确定这是不是正确的事情)。