我正在为两个不同的项目进行两种不同的导轨安装。它们位于不同版本的rails上。这是我安装的内容:
gem list --local | grep rails
表明我安装了这个:
rails (3.0.0.beta4, 2.3.5)
当我运行命令为使用2.3.5的应用程序进行部署时,出现以下错误:
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your
RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do
have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.
即使我安装了它,也找不到正确的rails版本。这个问题的短期和长期解决方案有哪些好处?
答案 0 :(得分:7)
我建议你RVM。它允许您在同一台机器上拥有不同的ruby / gems版本。
答案 1 :(得分:2)
长期解决方案是研究rvm,特别是gemset功能可以很容易地为不同的项目保留不同版本的宝石甚至ruby版本。
一个简短的trem解决方案可能是将以下行添加到boot.rb文件中,在需要rails之前的某个地方:
gem rails, "2.3.5"
这会加载正确版本的gem,否则gem会认为您需要最新版本。
答案 2 :(得分:0)
正如其他人所说,rvm是解决这个问题的一种方法。另一种是使用bundler,它涉及你的应用程序中的一些设置,并且可能要求你在任何想要运行命令的冲突版本(例如黄瓜)的地方使用'bundle exec 命令