从本网站学习教程时出现此错误。
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的建议。