【发布时间】:2015-09-30 23:05:49
【问题描述】:
我已经升级(apt-upgrade)我的 Ubuntu 14.03 服务器,包括 gitlab-ce。现在我的 Ruby(机架)网站似乎不再工作了。我收到以下错误:
incompatible library version - /home/taco/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.6.2/lib/nokogiri/nokogiri.so (LoadError)
/home/taco/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.6.2/lib/nokogiri.rb:29:in `require'
/home/taco/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.6.2/lib/nokogiri.rb:29:in `rescue in <top (required)>'
/home/taco/.rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.6.2/lib/nokogiri.rb:25:in `<top (required)>'
/home/taco/.rvm/gems/ruby-2.1.2/gems/nokogumbo-1.4.1/lib/nokogumbo.rb:1:in `require'
/home/taco/.rvm/gems/ruby-2.1.2/gems/nokogumbo-1.4.1/lib/nokogumbo.rb:1:in `<top (required)>'
/home/taco/.rvm/gems/ruby-2.1.2/gems/sanitize-4.0.0/lib/sanitize.rb:3:in `require'
/home/taco/.rvm/gems/ruby-2.1.2/gems/sanitize-4.0.0/lib/sanitize.rb:3:in `<top (required)>'
...
我使用 Nginx 运行乘客,它通常可以正常工作,现在仍然可以。 Geminthebox 仍然有效。我认为这与 Nginx 或乘客无关,而“只是”一些无法相处的宝石。有没有人遇到过这类错误?
更新
我的客户网站的功能此时真的不需要清理,所以我禁用了该部分,以使客户网站再次运行。
在那个过程中,我注意到它对 zipruby gem 的说法是一样的。而且我还注意到更多生成此错误的宝石。因此,它不是宝石本身,而是一个底层库。我对产生此错误的 gem 做了一些 ldd,即 nokogiri 上的 ldd
ldd /home/taco/.rvm/gems/ruby-2.1.5/gems/nokogiri-1.6.6.2/lib/nokogiri/nokogiri.so
linux-vdso.so.1 => (0x00007fff5b1fd000)
libruby.so.2.1 => /home/taco/.rvm/rubies/ruby-2.1.5/lib/libruby.so.2.1 (0x00007fc4e9ae4000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc4e97de000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc4e95c5000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc4e93a7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc4e8fe2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc4e8dde000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fc4e8ba5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc4ea3f5000)
我还尝试了 nokogumbo、zipruby、rest-client 和其他几个。我还没找到奇怪的东西。
顺便说一句:正如您可能注意到的,我尝试了几件事,比如通过 rvm 使用不同的 ruby 版本等,所以上面示例中的 ruby 版本有所不同。
【问题讨论】:
标签: ruby ubuntu nginx nokogiri