将Ruby版本与MySql客户端混合时出现问题
我的基本堆栈设置是Ubuntu10.04Lucid,带有Apache2和Rails3.x(见下文)。它还使用一个在专用服务器上运行的MySQL数据库,所以我只需要Rails服务器上的MySQL客户端,我使用的是mysql2 gem 我正在将一个Rails应用程序从Rails 3.0升级到Rails 3.2,一切都进行得相当顺利(一些代码更改和一些资产重组),只是我需要将mail gem从Ruby 1.8.7升级到更高版本 我想我应该跳过Ruby 1.9.3,直接跳到Ruby 2.0.0 我也在咬紧牙关,采用rvm来管理ruby环境,并且正在更新到Passenger 4,因为它说rvm可以更好地发挥作用,还因为我有另一个Rails应用程序,我想暂时在ruby 1.8.7上留下 一切都进行得相当顺利-在安装过程中,所有的东西似乎都安装正确 我在应用程序目录层次结构的顶部添加了一个.ruby版本文件(指定为2.0.0),这似乎很有效 我在同一个目录中还有.ruby gemset,指定了一个应用程序名,并且我已经使用bundle install安装了必要的gems 但是,当我重新启动Apache并尝试访问Rails应用程序时,乘客在返回的网页上报告了一个错误将Ruby版本与MySql客户端混合时出现问题,mysql,ruby-on-rails-3,ruby-on-rails-3.2,rvm,ubuntu-10.04,Mysql,Ruby On Rails 3,Ruby On Rails 3.2,Rvm,Ubuntu 10.04,我的基本堆栈设置是Ubuntu10.04Lucid,带有Apache2和Rails3.x(见下文)。它还使用一个在专用服务器上运行的MySQL数据库,所以我只需要Rails服务器上的MySQL客户端,我使用的是mysql2 gem 我正在将一个Rails应用程序从Rails 3.0升级到Rails 3.2,一切都进行得相当顺利(一些代码更改和一些资产重组),只是我需要将mail gem从Ruby 1.8.7升级到更高版本 我想我应该跳过Ruby 1.9.3,直接跳到Ruby 2.0.0 我也在咬
Web application could not be started
/home/username/.rvm/gems/ruby-2.0.0-p481@myapp/gems/mysql2-0.3.16/lib/mysql2/mysql2.so: [BUG] Segmentation fault ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
Rails应用程序(或Passenger)似乎正确地选择了rvm环境,但随后使用了不兼容的mysql2版本,该版本具有Ruby 1.8.7依赖性
我试过很多方法来解决这个问题
- 卸下并重新安装mysql2 gem
- 使用sudo apt get install libmysqlclient dev删除并重新安装mysql客户端包 libmysql-ruby
- 尝试相同的更改,但使用Ruby 1.9.3而不是2.0.0
感谢您的建议。您应该在应用程序的虚拟主机中设置写入的
PassengerRuby
。您是否在应用程序的虚拟主机中设置写入的PassengerRuby
?