Native Extensions无法为各种gem构建

时间:2018-01-14 18:24:27

标签: ruby-on-rails ruby ubuntu rubygems rvm

我正在使用不同版本的Ruby和Rails在Ubuntu平台上工作。我使用RVM进行版本控制。

每次我创建一个新项目或为新项目进行捆绑安装时,我总是可以一次性获得Failed to build native extensions for ...各种宝石。

然而,当我单独安装这些宝石时,我完全没有问题。

我已经这么做了很长一段时间,但它开始变得烦人。我不能为每个gem运行单独的安装。

此外,一旦我安装了每个gem,我运行bundle install只是为了确定。一切都运行文件,直到我使用像rake db:create这样的rake或rails命令并得到以下错误

rake aborted! LoadError: incompatible library version - /home/***/.rvm/gems/ruby-2.3.1@admin/gems/bcrypt-3.1.11/lib/bcrypt_ext.so

然后我继续解决这个错误。

能帮助我理解问题并解决问题。如果解释是明显的,我很抱歉,但这是我每次尝试都无法理解的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题是某些宝石需要安装一些系统级库。例如,nokogiri宝石请求ruby-devzlib1g-devliblzma-dev将按照website上的说明安装在Ubuntu上。

Bundler不会告诉您构建本机扩展所需的系统级库,因此您必须自己搜索并安装这些库。

我写了一个帮助解决这个问题的宝石,你也可以看一下: rsyslibs