您好我一直在寻找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没有看到shims
或rbenv
$ which -a ruby
/usr/bin/ruby
这应该显示rbenv
安装,对吗?
目前非常感谢任何和所有帮助。
-cheers
答案 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