2

从本网站学习教程时出现此错误。

http://ruby.railstutorial.org/chapters/a-demo-app#sec-demo_users_resource

试图在 Windows 上运行这个 rails 命令

rails 生成脚手架用户名:字符串电子邮件:字符串

并得到这样的错误:

> .../lib/sqlite3.rb:6:in 'require':cannot load such file -- sqlite3/sqlite3_native(LoadError)
>../lib/sqlite3.rb:2:in rescue in <top(required) >
>../bundler/runtime.rb:72:in 'require'
>.../bundler/runtime.rb:72:in block (2 level)
>from bin/rails:4: in 'require'
>from bin/rails:4: in <main>

我已经尝试过其他答案,例如将 sqlite 的目录添加到 PATH ..(它已经存在 C:\RailsInstaller\Ruby2.0.0\lib\ruby\gems\2.0.0\gems\sqlite3-1.3.7-x86-mingw32) ..

sqlite3(1.3.7-x86-mingw32 ) 在我的 gem 列表中,但仍然出现此错误。我也尝试将 sqlite3ext.h 和 sqlite3.h 放入 /ext 文件夹,但它不工作

试过这个命令 gem install sqlite3 --platform=ruby -- --with-sqlite3-dir=C:/path/to/sqlite3 没有结果

这是我的 database.yml 的内容 这里是 database.yml 文件的内容

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

更新:正如一位真正帮助我的用户所建议的那样“你会遇到几个令人沮丧的问题,这些问题纯粹是因为在 Windows 上。如果你不能删除 Windows,下载 Virtual Box 并在上面使用 Linux Distro。它会让你的生活更轻松。” 切换到 Linux 解决了所有问题。感谢https://stackoverflow.com/users/1092260/althaf-hameez的建议。

4

1 回答 1

2

请参阅https://stackoverflow.com/a/16748607/2466276

我的操作:
1. 下载http://packages.openknapsack.org/sqlite/sqlite-3.7.15.2-x86-windows.tar.lzma
2. 解压到 C:\Knapsack\x86
3. gem 卸载 sqlite3
4. gem install sqlite3 --platform=ruby -- --with-opt-dir=C:/Knapsack/x86

于 2013-08-16T12:58:39.760 回答