Bundler似乎无法通过Rbenv找到正确的Ruby

多年来我一直使用RVM作为我的Ruby版本管理器,但我想切换到rbenv以简化它。 但是我发现部署有些奇怪的问题。 这里似乎出错了:

# env RBENV_ROOT=\"/home/deploy/.rbenv\" PATH=\"/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH\" /home/deploy/.rbenv/bin/rbenv exec bundle install --gemfile /domains/myapp.com/releases/20140119013611/Gemfile --path /domains/myapp.com/shared/bundle --deployment --without development test > rbenv: bundle: command not found > The `bundle' command exists in these Ruby versions: > 2.0.0-p353 

好的,所以我指定了我想要的rbenv版本 –

 # env RBENV_ROOT=\"/home/deploy/.rbenv\" PATH=\"/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH\" RBENV_VERSION=\"2.0.0-p353\" /home/deploy/.rbenv/bin/rbenv exec bundle install --gemfile /domains/myapp.com/releases/20140119013611/Gemfile --path /domains/myapp.com/shared/bundle --deployment --without development test > rbenv: version `"2.0.0-p353"' is not installed 

呵呵。 那真是怪了。

 # rbenv versions > system > * 2.0.0-p353 (set by /home/deploy/.rbenv/version) 

知道我哪里错了吗? bundle install命令似乎认为2.0.0-p353不存在,但rbenv versions显示它。 可能是什么?

我相信这是一个逃避问题。

我可以成功设置当前的ruby版本:

rbenv local 2.0.0-p247

或这个:

rbenv local "2.0.0-p247"

但是,如果我转义引号,我会得到一个完全像你得到的错误(注意错误响应中的引号):

 > rbenv local \"2.0.0-p247\" rbenv: version `"2.0.0-p247"' not installed 

请注意,通常引用不是假的版本:

 > rbenv local 2.0.0-p111 rbenv: version `2.0.0-p111` 

因此,总的来说,我猜测在第一个代码段中调用了无捆绑系统ruby,并且由于RBENV_VERSION引用问题,您还没有看到尝试使用rbenv托管版本捆绑的成功尝试。

安装bundler工具:gem install bundler。

安装项目的依赖项:bundle install