OSX您的Ruby版本是2.0.0,但您的Gemfile指定为2.2.3

时间:2016-04-23 23:57:06

标签: ruby macos terminal homebrew rbenv

您好我一直在寻找stackexchange和谷歌的修复很长一段时间没有成功,所以我认为id放弃并提出这个问题,因为它似乎没有被其他主题所涵盖。

我尝试启动rails服务器时出现以下消息(之前确实有效,我只是不知道我是怎么打破它的)

Your Ruby version is 2.0.0, but your Gemfile specified 2.2.3

一些上下文:我在OSX上,通过rbenv安装了homebrew

$ rbenv versions system * 2.2.3 (set by /Users/<user>/.rbenv/version)

好的,所以安装了rbenv并且版本正确。

echo $PATH /Users/<user>/.rbenv/shims:/Users/<user>/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin :

$ PATH在那里我在~./bash_profile上有以下内容 export PATH="$HOME/.rbenv/bin:$PATH" if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

好吧,问题是什么?你问?因为我向后退了一下:

$ ruby -v ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15] $ which ruby /usr/bin/ruby

现在,最后一点让我有希望,似乎我使用的是OSX内置的ruby,而不是来自rbenv的那个,所以我做了gem env

RubyGems Environment: - RUBYGEMS VERSION: 2.6.3 - RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64-darwin15] - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0 - USER INSTALLATION DIRECTORY: /Users/<user>/.gem/ruby/2.0.0 - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby - EXECUTABLE DIRECTORY: /usr/bin - SPEC CACHE DIRECTORY: /Users/<user>/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site - GEM PATHS: - /Library/Ruby/Gems/2.0.0 - /Users/bronze/.gem/ruby/2.0.0 - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0 - SHELL PATH: - /Users/<user>/.rbenv/bin - /Users/<user>/.rbenv/shims - /Users/<user>/.rbenv/bin - /usr/local/sbin - /usr/local/bin - /usr/bin - /bin - /usr/sbin - /sbin

我发现此时我无法采取任何路径。对我来说似乎所有都已安装,但OSX没有看到shimsrbenv

中的任何内容

$ which -a ruby /usr/bin/ruby

这应该显示rbenv安装,对吗?

目前非常感谢任何和所有帮助。

-cheers

4 个答案:

答案 0 :(得分:0)

请按instructions运行rbenv init

答案 1 :(得分:0)

好的,这是一次疯狂的旅行,所以如果有人在将来发现这个问题,这就有用了:卸载所有内容

根据{{​​3}}

shims

然后我也卸载了自制软件。有点激烈,但无论如何都没有工作......

所以,从头开始,安装自制软件,然后是rbenv,然后是正确的版本,并且{{1}}路径开始出现。

答案 2 :(得分:0)

RVM为您提供了宝石集,这些宝石集是沙盒环境,可让您维护单独的宝石集。

$ rvm gemset use global 这应该返回:

gemsets for ruby-2.x.x => (default) global

$ rvm gemset use global
$ gem list

完成!

答案 3 :(得分:0)

您是否使用rbenv设置了全局或本地版本? rbenv global 2.2.3

通过使用global,每个项目都可以使用ruby 2.2.3。
如果只想在当前文件夹中使用此版本:rbenv local 2.2.3