【问题标题】:bundle install errors with gems, statistics2-0.54 (ubuntu)使用 gems 捆绑安装错误,statistics2-0.54 (ubuntu)
【发布时间】:2021-06-02 10:44:34
【问题描述】:

我正在处理捆绑安装错误,如下所述

在 Ubuntu 上20.04.2 LTS

我正在使用ruby-2.5.5,与 rvm 管理器一起安装

gem install bundle --> 执行成功

bundle install --> 打印错误

Installing statistics2 0.54 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

...

An error occurred while installing statistics2 (0.54), and Bundler
cannot continue.
Make sure that `gem install statistics2 -v '0.54' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  abanalyzer was resolved to 1.0.0, which depends on
    statistics2

运行命令时gem install statistics2 -v '0.54' 打印错误

ERROR:  Error installing statistics2:
    ERROR: Failed to build gem native extension.

    current directory: /home/*USER*/.rvm/gems/ruby-2.5.5/gems/statistics2-0.54/ext
/usr/share/rvm/rubies/ruby-2.5.5/bin/ruby -I /usr/share/rvm/rubies/ruby-2.5.5/lib/ruby/site_ruby/2.5.0 -r ./siteconf20210601-71318-1da18jl.rb extconf.rb
creating Makefile 

...

make install failed, exit code 2

Gem files will remain installed in /home/*USER*/.rvm/gems/ruby-2.5.5/gems/statistics2-0.54 for inspection.
Results logged to /home/*USER*/.rvm/gems/ruby-2.5.5/extensions/x86_64-linux/2.5.0/statistics2-0.54/gem_make.out

我已成功安装依赖项: sudo apt install gcc libcurl4-openssl-dev libxml2-dev -ysudo apt install libssl-devsudo apt install ruby-dev

然后运行bundle update 然后运行gem update --system

然后运行bundle install 再次出现上述错误。

bundle env

给予

Bundler             2.1.4
  Platforms         ruby, x86_64-linux
Ruby                2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux]
  Full Path         /usr/share/rvm/rubies/ruby-2.5.5/bin/ruby
  Config Dir        /etc
RubyGems            3.2.19
  Gem Home          /home/*USER*/.rvm/gems/ruby-2.5.5
  Gem Path          /home/*USER*/.rvm/gems/ruby-2.5.5:/usr/share/rvm/rubies/ruby-2.5.5/lib/ruby/gems/2.5.0
  User Home         /home/*USER*
  User Path         /home/*USER*/.gem/ruby/2.5.0
  Bin Dir           /home/*USER*/.rvm/gems/ruby-2.5.5/bin
Tools               
  Git               2.25.1
  RVM               1.29.12 latest
  rbenv             not installed
  chruby            not installed
  rubygems-bundler  (1.4.5)

...

### Gemfile

```ruby
source 'https://rubygems.org'

# rails
gem 'rails', '5.2.0'
gem 'rails-dom-testing'
gem 'redis-rails'

你能看看这个错误,希望有人能回答。 我的 ruby​​-2.5.5 捆绑包版本是否有问题,或者 gems 安装或其他问题有什么问题?

亲切的问候,

【问题讨论】:

  • sudo apt install gcc 不会安装功能齐全的 gcc。因此,build-essential 安装 libc6-dev 等。我认为,您的“依赖项”列表中也缺少rake
  • libc6-dev 已经安装。如何安装 rake?
  • 安装 rake :就像任何其他 Ubuntu 软件包一样 packages.ubuntu.com/focal/rake
  • 显然 rake 已经安装并且是最新版本:|
  • 仍未解决。谁有更清晰的指南?

标签: ruby-on-rails ruby linux rubygems bundle


【解决方案1】:

回答你的问题

我的 ruby​​-2.5.5 捆绑包版本是否有问题,或者 gems 安装有问题或其他问题?

您的系统上缺少一些依赖项,它没有链接到您的包或 ruby​​ 版本或其他 gems

statistics2 是一个使用原生扩展的 gem,因此它需要一些高级系统要求来构建(比如 make 和 gcc 来编译文件 _statistics2.c

我自己在 Ubuntu(20.04.2 LTS 和你一样)上安装了它

Fetching gem metadata from http://rubygems.org/.
Resolving dependencies...
Using bundler 1.17.3
Fetching statistics2 0.54
Installing statistics2 0.54 with native extensions
Bundle complete! 1 Gemfile dependency, 2 gems now installed.

我不确切知道所需的库,因为 gem 很旧 (2010) 并且没有记录。

您能否尝试一个似乎提供相同功能的更新的 gem (distribution)?

Distribution 是一个具有多种概率分布的宝石。默认使用纯 Ruby,如果可用,使用 C (GSL) 或 Java 扩展。

source 'http://rubygems.org'
gem 'distribution'

它也是纯 ruby​​,所以 bundle install 时你不应该有原生扩展的问题:

Fetching gem metadata from http://rubygems.org/.
Resolving dependencies...
Using bundler 1.17.3
Using distribution 0.8.0
Bundle complete! 1 Gemfile dependency, 2 gems now installed.

【讨论】:

  • 感谢您的回复 Alexis 真的不知道如何安装不同的 gem 发行版。似乎不是那么直截了当
猜你喜欢
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-23
  • 2013-12-14
  • 2017-02-21
相关资源
最近更新 更多