【发布时间】:2016-08-26 01:43:20
【问题描述】:
我在 Ubuntu 系统(16.04)上工作。
我的问题是,每当我设置任何 Rails 项目并尝试运行 rails s 时,sqlite3 都会出现“不兼容的库版本”错误,如下所示。
/home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/activesupport-4.0.0/lib/active_support/values/time_zone.rb:282: warning: circular argument reference - now
/home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/sqlite3-1.3.11/lib/sqlite3.rb:6:in `require': incompatible library version - /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/sqlite3-1.3.11/lib/sqlite3/sqlite3_native.so (LoadError)
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/sqlite3-1.3.11/lib/sqlite3.rb:6:in `rescue in <top (required)>'
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/sqlite3-1.3.11/lib/sqlite3.rb:2:in `<top (required)>'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:77:in `require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:77:in `block (2 levels) in require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:72:in `each'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:72:in `block in require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:61:in `each'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:61:in `require'
from /usr/lib/ruby/vendor_ruby/bundler.rb:99:in `require'
from /home/jiggs/sites/albumriverfinal/config/application.rb:7:in `<top (required)>'
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
from /home/jiggs/.rvm/gems/ruby-2.3.1@albumriver/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Rails 版本:4.0.0
我尝试使用 rails 4.0.0 的 ruby 版本:
ruby-2.0.0-p247 [x86_64]
ruby-2.2.5 [x86_64]
ruby-2.3.0 [x86_64]
ruby-2.3.0-preview1 [x86_64]
ruby-2.3.1 [x86_64]
我尝试使用 gem uninstall sqlite3 卸载 sqlite3 并尝试运行 bundle install 但收到此错误:
An error occurred while installing sqlite3 (1.3.11), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.11'` succeeds before bundling.
然后我运行gem install sqlite3 -v '1.3.11' 并运行rails server 并再次遇到同样的错误incompatible library version。
sqlite3 gem install 的输出:
gem install sqlite3 -v '1.3.11'
Fetching: sqlite3-1.3.11.gem (100%)
Building native extensions. This could take a while...
Successfully installed sqlite3-1.3.11
Parsing documentation for sqlite3-1.3.11
Installing ri documentation for sqlite3-1.3.11
Done installing documentation for sqlite3 after 1 seconds
1 gem installed
【问题讨论】:
-
你能发布
gem install sqlite3 -v '1.3.11'的输出吗? -
这个问题你解决了吗,我也遇到了同样的问题
-
@Sebin,我更新了我的问题并发布了
gem install sqlite3 -v '1.3.11'@NickGarver 的输出,我还没有得到任何解决方案。
标签: ruby-on-rails ruby ruby-on-rails-3 sqlite sqlite3-ruby