命令错误-Rails服务器-无法加载该文件-sqlite3 / sqlite3_native(LoadError)

问题描述 投票:2回答:2

我很抱歉,如果这个问题是多余的,但是我无法根据在这里和其他站点上找到的建议来解决问题。我是Ruby,Rails和许多概念的新手,这些概念对于正确安装和运行所有组件似乎很重要。

我使用的是Mac OS 10.9。我安装的是:ruby 2.0.0,Rails 4.0.2,rubygems 1.8.25。我从一开始就一直遵循Hartl教程,直到我第一次调用Rails Server,然后收到此错误消息:

Macintosh-0025bce1e74a:first_app johns $ rails服务器

/ Library / Ruby / Gems / 2.0.0 / gems / sqlite3-1.3.8 / lib / sqlite3.rb:6:in require': cannot load such file -- sqlite3/sqlite3_native (LoadError) from /Library/Ruby/Gems/2.0.0/gems/sqlite3-1.3.8/lib/sqlite3.rb:6:in中的'

from /Library/Ruby/Gems/2.0.0/gems/sqlite3-1.3.8/lib/sqlite3.rb:2:in `<top (required)>'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `require'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `each'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:72:in `block in require'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `each'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler/runtime.rb:61:in `require'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.5.1/lib/bundler.rb:131:in `require'
from /Users/johns/Desktop/rails/first_app/config/application.rb:7:in `<top (required)>'
from /Library/Ruby/Gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:74:in `require'
from /Library/Ruby/Gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:74:in `block in <top (required)>'
from /Library/Ruby/Gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:71:in `tap'
from /Library/Ruby/Gems/2.0.0/gems/railties-4.0.2/lib/rails/commands.rb:71:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

[我在开始Rails教程之前已经安装了sqlite3,所以我认为这可能与问题有关,但是我没有受过有关路径以及如何弄清楚这是否是问题的教育。

Macintosh-0025bce1e74a:〜johns $ sqlite3-版本3.7.13

根据我的阅读,我的计算机将通过PATH查找运行程序所需的可执行二进制文件,而我的PATH如下:

Macintosh-0025bce1e74a:〜johns $ echo $ PATH/ usr / local / bin:/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ usr / local / git / bin

我的gemfile是

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.2'

group :development do
  gem 'sqlite3', '1.3.8'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

我确实记得运行捆绑软件更新,捆绑软件安装。

非常感谢您的帮助!

编辑我想我终于了解了如何执行某人在以前的此类问题中发布的链接中列出的步骤,从而使其正常工作。

http://ahmedemad.wordpress.com/2013/05/17/ruby-on-rails-install-run-error/

编辑它不起作用,rails服务器命令通过正常,但是当我尝试拉出页面时,出现另一个错误:

#SQLite3 :: Database:0x007fccb3e10438的未定义方法'busy_timeout'>

编辑我尝试了发现的另一个建议,但是当我尝试访问该站点时,它也会产生相同的错误。

我编辑了/sqlite3-1.3.8.gemspec,将s.require_paths = [“ lib”]更改为s.require_paths = [“ lib / sqlite3_native”],这显然可以解决某些问题。

编辑有了rvm并重新安装了东西,再进行一次安装,它现在可以工作了...怪异

我很抱歉,如果这个问题是多余的,但是我无法根据在这里和其他站点上找到的建议来解决问题。我是Ruby,Rails和许多概念的新手,似乎...

ruby-on-rails sqlite railstutorial.org
2个回答
0
投票

我发现有趣的是,此错误与此完全相同:Repairing Rails and Server and on Nitrous.io


0
投票

如果从源代码安装sqlite3。您应该在配置时启用选项SQLITE_ENABLE_COLUMN_METADATA。

© www.soinside.com 2019 - 2024. All rights reserved.