Ruby on rails 新Rails 3.2.8项目出现错误-'require';:无法加载这样的文件--sqlite3/sqlite3\u native(LoadError)
我刚刚创建了一个新的AmazonLinux实例,并安装了Ruby1.9.3和Rails3.2.8 创建新项目后,我立即收到由于sqlite3而导致的失败。错误是:Ruby on rails 新Rails 3.2.8项目出现错误-'require';:无法加载这样的文件--sqlite3/sqlite3\u native(LoadError),ruby-on-rails,ruby,sqlite,Ruby On Rails,Ruby,Sqlite,我刚刚创建了一个新的AmazonLinux实例,并安装了Ruby1.9.3和Rails3.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) f
[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)>'
我对bundle安装非常了解。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
find / | grep bin/ruby
有什么办法可以让事情顺利进行吗?谢谢
更新
为了“好玩”,我从Gemfile中注释掉了gemsqlite3行,并再次尝试了“railsserver”。首先,它抱怨没有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)>'
[root@xxxx乐趣]#rails服务器
/usr/local/share/gems/gems/railties-3.2.8/lib/rails/railtie/configuration.rb:85:in'method_missing':未定义的方法'active_record'(nomethoderor)
from/srv/rails/fun/config/application.rb:54:in`'
从/srv/rails/fun/config/application.rb:13:in`'
从/srv/rails/fun/config/application.rb:12:in`'
您可能有路径问题
要查看是否安装了多个版本的Ruby、Rails或gem,请执行以下操作:
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
find / | grep bin/ruby
查找/grep bin/rails
查找/| grep bin/gem
在Amazon服务器上,我通常保持系统Ruby的原样,并使用优秀的Ruby构建脚本(在我看来比RVM更好)安装我自己当前的Ruby
如果您有多个Ruby,我建议您设置您的环境以选择一个,例如使用Ruby build
或在.bashrc
文件或/etc/environment
文件中设置路径,如下所示:
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
您可能有路径问题 要查看是否安装了多个版本的Ruby、Rails或gem,请执行以下操作:
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
find / | grep bin/ruby
查找/grep bin/rails
查找/| grep bin/gem
在Amazon服务器上,我通常保持系统Ruby的原样,并使用优秀的Ruby构建脚本(在我看来比RVM更好)安装我自己当前的Ruby
如果您有多个Ruby,我建议您设置您的环境以选择一个,例如使用Ruby build
或在.bashrc
文件或/etc/environment
文件中设置路径,如下所示:
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
这有帮助吗:?谢谢你的建议,我以前看过那篇文章并排除了它。为了安全起见,我尝试了它建议的步骤,但仍然看到了相同的问题。据我所知,amazon linux使用了yum package manager,当您运行以下操作时会发生什么:
yum安装ruby-devel-sqlite-devel
?是的,此系统正在使用yum。我检查了软件包,下面是我安装的(ruby devel提取了1.8.7代码)。我用我安装的软件包列表更新了原始帖子。似乎所有正确的东西都在那里。我不明白为什么一个独立的ruby脚本可以工作,但是rails会发出嘎嘎声——某种类型的加载路径问题?这有帮助吗:?谢谢你的建议,我以前看过那篇文章,排除了它。为了安全起见,我尝试了它建议的步骤,但仍然看到了相同的问题。据我所知,amazon linux使用了yum package manager,当您运行以下操作时会发生什么:yum安装ruby-devel-sqlite-devel
?是的,此系统正在使用yum。我检查了软件包,下面是我安装的(ruby devel提取了1.8.7代码)。我用我安装的软件包列表更新了原始帖子。似乎所有正确的东西都在那里。我不明白为什么一个独立的ruby脚本可以工作,但是rails会发出嘎嘎声——某种类型的加载路径问题?谢谢Joel!这(最终)成功了。我之前删除了Ruby 1.8.7的所有痕迹,所以系统上只有1.9.3(这个过程中一定有什么原因导致了我的问题)。今天我卸载了所有gems,使用ruby build作为普通用户安装了1.9.1-p134,然后重新安装了rails 3.2.8。我现在可以成功地创建一个新项目并运行它。非常感谢你的建议!谢谢你,乔尔!这(最终)成功了。我之前删除了Ruby 1.8.7的所有痕迹,所以系统上只有1.9.3(这个过程中一定有什么原因导致了我的问题)。今天我卸载了所有gems,使用ruby build作为普通用户安装了1.9.1-p134,然后重新安装了rails 3.2.8。我现在可以成功地创建一个新项目并运行它。非常感谢你的建议!