Pen*_*ddy 82 sqlite ruby-on-rails
当我尝试在Ruby 2.0.0上使用Rails 4.0.0设置基本安装和启动服务器时,我面临以下错误消息.
/usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /home/penchal/new/site/config/application.rb:7:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
from /usr/local/lib/ruby/gems/2.0.0/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>'
Run Code Online (Sandbox Code Playgroud)
如何避免此错误消息并继续进行?
Har*_*nan 119
找到你的sqlite3 gemspec文件.一个例子是 /usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
Windows :
C:\Ruby21\lib\ruby\gems\2.1.0\specifications.
您应该根据您的Rubygem路径和sqlite3版本进行调整.编辑上面的文件并查找以下行
s.require_paths=["lib"]
Run Code Online (Sandbox Code Playgroud)
改为
s.require_paths= ["lib/sqlite3_native"]
Run Code Online (Sandbox Code Playgroud)
hwd*_*ing 19
请参阅:https://stackoverflow.com/a/39136421/6755206
幸运的是,你不必切换到ruby 2.0
就可以解决这个问题,经过无尽的尝试......
https://github.com/hwding/sqlite3-ruby-win
gem uninstall sqlite3 --all gem install bundlerbundle installrake native gemgem install --local sqlite3-xxx.gem ('xxx'是版本代码)irbrequire 'sqlite3'Lar*_*nis 19
由于已合并了拉取请求#229,因此可以为每个git:密钥安装sqlite3 .您可以通过以下方式轻松使用sqlite3 Gemfile:
gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-ruby"
Run Code Online (Sandbox Code Playgroud)
这适用于RubyInstaller-2.4及更新版本.它会mingw-w64-x86_64-sqlite3在您运行时自动安装所需的pacman软件包bundler install.
在RubyInstaller2 FAQ中,Windows上的Rails还有一些提示.
小智 13
gem uninstall sqlite3 --all
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem inst sqlite3 --platform ruby
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题.
Windows 10
Ruby 2.5.3
Rails 5.2.2
Run Code Online (Sandbox Code Playgroud)
小智 5
没有编译源代码或下载预编译的库将解决这个问题,相信我,我尝试了一切,问题在于其他地方.这是它在Windows上的工作方式:
bundle update sqlite3
关于nokogiri之后你可能会遇到另一个类似的错误,用命令修复它:
bundle update nokogiri
享受您的Ruby应用!
| 归档时间: |
|
| 查看次数: |
79085 次 |
| 最近记录: |