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

标签 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'

pow 认为我在 1.9.3-p327 上的情况如何?任何人都有类似的问题。这是 ruby​​ 2.0.0 的事情还是 pow 和 rbenv 进行拳击比赛?

最佳答案

使用 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

关于ruby - Rbenv/Pow - Bundler::RubyVersionMismatch(启动应用程序时出错),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17739145/

相关文章:

ruby - 优雅的链式 'or' 用于测试 Ruby 中的相同变量

ruby - 数组上的替换方法

ruby-on-rails - Rails,pow和Library未加载:/usr/local/lib/libsqlite3. 0.8.6.dylib

ruby - 无法写入守护进程中的日志

ruby - 为什么 instance_eval 对 Proc 成功但对 Lambda 不成功?

Ruby 在 Vagrant box 上停止后消失了

Ruby Rbenv 试图从 Bundle 运行 Zeus,尽管它是一个全局性的 gem(使用 ZSH)

ruby - rbenv 或 bundler gemset 沙盒?

ruby-on-rails - 在 Pow 上运行的 Rails 应用程序不会因/lib 目录中的更改而重新加载

ruby-on-rails - 用于 RoR 的 ubuntu 机器上的 prax