Foreman要求Ruby 2.1.1,但它已经安装。我该如何解决这个错误?

时间:2014-04-29 16:59:32

标签: ruby rvm foreman fish

~/D/R/appname> foreman run rails c
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.1
~/D/R/appname> rvm install 2.1.1
Already installed ruby-2.1.1.
To reinstall use:

    rvm reinstall ruby-2.1.1

~/D/R/appname> foreman run rails c
Loading development environment (Rails 4.1.0)
[1] pry(main)> 

当我运行foreman run rails cforeman run rails s时,我会收到一条消息'Your Ruby version is 2.0.0, but your Gemfile specified 2.1.1'。当我用rvm安装该版本时,我收到一条消息,表明它已经安装完毕。在运行rvm install命令,然后再次运行foreman之后,一切都很好。

如何修复此错误?请注意,我使用的是Fish shell。

.ruby-version file:

2.1.1

Gemfile的顶部:

source 'https://rubygems.org'
ruby '2.1.1'
gem 'rails', '~> 4.1.0'
gem 'pg'

2 个答案:

答案 0 :(得分:0)

你很可能不得不在运行领班之前切换到ruby 2.1。

rvm use 2.1.1

为避免每次都运行此命令,您可以:

  • 将此版本设置为默认版本 - 这样每次打开控制台时,RVM都将使用2.1.1而不是2.0.0。

    rvm使用2.1.1 --default

  • 在您的目录中创建一个ruby版本文件:这次当您在此目录中时,RVM将为您神奇地切换ruby版本。

    回声" ruby​​-2.1.1-pyourpathversion" > .ruby版本

最后一个只适用于较新的RVM,但是因为你安装了2.1.1,它应该适合你。

答案 1 :(得分:0)

我遇到了完全相同的问题。 在Gemfile和.ruby-version中指定的Ruby 2.1.1。

foreman gem已全局安装,但不在当前gemset中。 这修好了它:

    echo "gem 'foreman'" >> Gemfile && bundle