繁体   English   中英

新的Rails 3.2.8项目出错-'require':无法加载此类文件-sqlite3 / sqlite3_native(LoadError)

[英]Error with new Rails 3.2.8 project - `require': cannot load such file — sqlite3/sqlite3_native (LoadError)

我刚刚创建了一个新的Amazon Linux实例,并安装了ruby 1.9.3和rails 3.2.8。

创建新项目后,我立即收到由于sqlite3导致的失败。 错误是:

[root@xxxxx fun]# rails server
/usr/local/share/gems/gems/sqlite3-1.3.6/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
    from /usr/local/share/gems/gems/sqlite3-1.3.6/lib/sqlite3.rb:6:in `rescue in <top     (required)>'
    from /usr/local/share/gems/gems/sqlite3-1.3.6/lib/sqlite3.rb:2:in `<top     (required)>'

我已经确认sqlite3在rails之外运行良好(即,我成功创建了一个数据库,使用ruby代码进行了插入/读取操作)。 这是在irb中加载sqlite3的快速展示:

irb(main):001:0> require 'sqlite3'
=> true

我完全了解软件包安装。 sqlite3的版本为1.3.6

我安装了以下软件包:

ruby19-1.9.3.0-7.17.amzn1.i686
ruby19-devel-1.9.3.0-7.17.amzn1.i686
ruby19-irb-1.9.3.0-7.17.amzn1.noarch
ruby19-libs-1.9.3.0-7.17.amzn1.i686
rubygem19-io-console-0.3-7.17.amzn1.i686
rubygem19-rdoc-3.9.4-7.17.amzn1.i686
rubygems19-1.8.11-7.17.amzn1.noarch
sqlite-3.6.20-1.8.amzn1.i686
sqlite-devel-3.6.20-1.8.amzn1.i686

关于我可以尝试使事情正常运行的任何想法? 谢谢!

更新对于“乐趣”,我从Gemfile中注释了gem sqlite3行,然后再次尝试了“ rails服务器”。 首先,它抱怨没有javascript运行时(我可以修复),但随后得到了以下结果。 我的安装似乎在皇家方面有错。

[root@xxxx fun]# rails server
/usr/local/share/gems/gems/railties-3.2.8/lib/rails/railtie/configuration.rb:85:in `method_missing': undefined method `active_record' for #<Rails::Application::Configuration:0x9e68f58> (NoMethodError)
    from /srv/rails/fun/config/application.rb:54:in `<class:Application>'
    from /srv/rails/fun/config/application.rb:13:in `<module:Fun>'
    from /srv/rails/fun/config/application.rb:12:in `<top (required)>'

您可能遇到路径问题。

要查看是否安装了多个版本的Ruby,Rails或gem:

find / | grep bin/ruby

查找/ | grep bin / rails查找/ | grep bin / gem

在Amazon服务器上,我通常保持系统Ruby不变,并使用出色的ruby-build脚本(在我的观点中比RVM更好)安装我自己的当前Ruby。

https://github.com/sstephenson/ruby-build

如果确实有多个Ruby,建议您将环境设置为选择一个,例如,使用ruby-build或在.bashrc文件或/etc/environment文件中设置PATH,如下所示:

PATH=/opt/ruby/1.9.1-p134/bin;$PATH

如果您使用的是RVM,建议您将其卸载并更改为使用ruby-build。

要卸载RVM,我使用以下脚本:

https://github.com/SixArm/sixarm_unix_shell_scripts/blob/master/rvm-uninstall-danger

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM