Rbenv / Pow - Bundler :: RubyVersionMismatch(启动应用程序时出错)

时间:2013-07-19 06:06:49

标签: ruby rbenv rack-pow

每次尝试通过pow

运行我的应用程序时,我都会收到以下错误
Bundler::RubyVersionMismatch: Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0

我只是想把我的项目与pow联系起来,显然我有一个不同版本的ruby?我正在使用rbenv来管理我的ruby版本。我已将rbenv设置为在本地设置2.0.0-p0,如果我调用ruby -v我得到ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.4.0]

$rbenv versions
  system
  1.9.3-p327
* 2.0.0-p0 (set by /Users/fortknokx/Personal work/cave/.rbenv-version)

我试图'rbenv rehash'并刷新'.ruby-version'似乎没有什么能说服pow我正在使用ruby 2.0.0

我从pow获得的错误的完整堆栈如下

~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-
~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:361:in `validate_ruby!'
~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
~/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
~/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'3.5/lib/bundler/definition.rb:361:in `validate_ruby!'
~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:116:in `setup'
~/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top (required)>'
~/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
~/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'

有些人认为我对1.9.3-p327有什么看法?任何人都有类似的问题。它是红宝石2.0.0的东西还是战争和rbenv有拳击比赛?

1 个答案:

答案 0 :(得分:2)

使用pow和rbenv时存在一些问题:rbenv does not work well with pow

问题似乎集中在powconfig文件的一些PATH问题上,因此pow试图使用您的默认ruby安装(假设1.9.x)与您通过rbenv指定的内容相比。如果您正在使用OSX mavericks,请将以下内容添加到〜/ .powconfig文件中,一旦进行更改就重新启动pow,您应该好好去。 (根据最后的建议):

export RBENV_ROOT=/usr/local/var/rbenv # Might not be necessary for pre-Mavericks OSX
eval $(rbenv init -)
export PATH=$(rbenv root)/shims:$(rbenv root)/bin:$PATH