【问题标题】:Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2 without update Gemfile您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定 2.1.2 没有更新 Gemfile
【发布时间】:2014-11-22 23:23:10
【问题描述】:

当我执行命令时: rails s在我的项目中,控制台显示消息:

您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定的是 2.1.2

我执行了命令:

brew 升级 rbenv ruby​​-build rbenv 安装 --list 并且版本2.1.2 出现在列表中。

然后,我执行了命令:rbenv rehash,但在执行命令时出现了相同的消息: rails s。 在我的Gemfile 文件中,列出了: ruby '2.1.2' 但我不想用以前的版本替换这个值。

如果我执行:

rvm use 2.1.2 显示:

 Warning! PATH is not properly set up,
 '/Users/Jarvis/.rvm/gems/ruby-2.1.2/bin' is not at first place,
          usually this is caused by shell initialization files - check them for 'PATH=...' entries,
          it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
          to fix temporarily in this shell session run: 'rvm use ruby-2.1.2'. Using /Users/Jarvis/.rvm/gems/ruby-2.1.2 Warning!
 Executable 'ruby' missing, something went wrong with this ruby
 installation! Warning! Executable 'gem' missing, something went wrong
 with this ruby installation! Warning! Executable 'irb' missing,
 something went wrong with this ruby installation!

我做错了什么?

【问题讨论】:

  • rbenvrvm 很可能会导致问题...
  • 我在 D 端。我的建议是使用 rbenv 或 rvm,但不能同时使用。你的项目有 .ruby-version 文件吗?
  • @NickM 真的,不。我将卸载rvm 并保留rbenv
  • 感谢@D-side 和@NickM 真的让rbenvrvm 有冲突。我删除了rvm,现在它运行良好。
  • 要完全移除 RVM,我们使用的是:github.com/SixArm/sixarm_unix_shell_scripts/blob/master/…

标签: ruby-on-rails ruby ruby-on-rails-3 gem


【解决方案1】:

RVM 和 RBenv 实际上是相似的工具。没有实际的理由让它们在一个会话中(并且大部分时间在一台机器上)彼此并排。它们都依赖于修改 PATH 环境变量来使 Ruby 和补充二进制文件更接近以便于使用。

这就是 RVM 所抱怨的:PATH 不是它所期望的。也就是说,RBEnv 显然篡改了它。由于这些工具尽最大努力超越rubygemirb 等等,它们有时很可能会相互冲突。

所以,删除其中一个。哪一个,由你决定。删除 RVM 很简单:

rvm implode

...这将为它们删除 RVM 的文件、红宝石和宝石,但您可能还需要检查 .bash_profile.profile.bashrc 以获取相关行。

RBEnv 的卸载过程似乎是手动的:删除文件夹,查看上面列出的文件以了解相关行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 2014-05-27
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    相关资源
    最近更新 更多