首页 > 解决方案 > 使用 gems 捆绑安装错误,statistics2-0.54 (ubuntu)

问题描述

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

在 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 安装或其他有什么问题?

亲切的问候,

标签: ruby-on-railsrubylinuxrubygemsbundle

解决方案


回答你的问题

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

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

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(发行版)?

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

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

它也是纯红宝石,因此您不应该对本机扩展有问题 while 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.

推荐阅读