8

因此,在我寻求让 ruby​​ 开发环境正常工作的过程中,我遇到了一个似乎……让这个 ruby​​ noob 感到困惑的问题。

执行 rails server 时,它会按预期启动,但是当您将 localhost:3000 输入标准 Web 浏览器时,它会回复以下内容:

为数据库适配器指定了“sqlite3”,但未加载 gem。添加gem 'sqlite3'到您的 Gemfile。

现在这是令人困惑的部分。我已经安装了 sqlite3(64 位版本,因为这是我下载的,并且正在运行 64 位操作系统),由 gem 查询验证(这里是 gem 的完整列表)

宝石

卸载和重新安装对手头的问题没有任何好处,但它确实安装顺利。我正在测试的项目的gemfile也是folliwing

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'

# Use sqlite3 as the database for Active Record
gem 'sqlite3'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

如您所见,很早就在 Gemfile 中指定了 sqlite3,但是无论出于何种原因,当我尝试加载主页时,它的行为就像它不存在一样。

这台机器的细节如下,之前在宝石部分没有提到:

导轨 4 红宝石 2 视窗 7

以前有人遇到过这个吗?

4

3 回答 3

20

我也刚遇到这个问题。进入您的 Gemfile.lock 文件并搜索“sqlite3”条目。您会注意到它显示为sqlite3 (1.3.8-x86-mingw32). Change that tosqlite3 (1.3.8-x64-mingw32)然后运行该bundle install命令,一切都应该正常工作。

于 2013-10-01T20:51:51.940 回答
1

我遇到了同样的问题,这似乎是 Windows 7 特定的环境问题。通过以下更改解决了我的问题

进入您的 Gemfile.lock 文件并将sqlite3 (1.3.8-x86-mingw32)更新为sqlite3 (1.3.8-x64-mingw32)

于 2013-10-26T07:55:14.210 回答
0

bundle install从项目目录运行。这将更新 Gemfile.lock。您还必须重新启动 Rails 服务器。

另请参阅config/database.ymlwhich 指定要用于数据库的 gem。

development:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000
于 2013-09-29T07:00:28.217 回答