两个不同的ruby版本没有RVM

时间:2016-10-28 16:05:16

标签: ruby-on-rails ruby linux

我对红宝石很新,所以请帮助我。 我在我的机器上安装了两个ruby版本,一个在/ usr / bin / ruby​​,另一个安装在/usr/local/bin/ruby中。当我尝试运行任何捆绑命令时,如“/ usr / local / bin / bundle exec”它无法找到相应的ruby和rake gems。我的环境$ PATH变量是“/ sbin:/ bin:/ usr / sbin:/ usr / bin:/ opt / aws / bin:/ usr / local / bin”,但是当我运行“/ usr / local / bin / bundle env”时,我得到了以下输出 环境

Bundler   1.10.6
Rubygems  1.8.28
Ruby      2.2.5p319 (2016-04-26 revision 0) [x86_64-linux]
Git       2.7.4

的Gemfile

# Passenger Version Gemfile
source "https://rubygems.org"

# gem "rails"
gem 'rack', '1.6.4'
gem 'passenger', '~>  4.0.59'

Gemfile.lock的

GEM
  remote: https://rubygems.org/
  specs:
    daemon_controller (1.2.0)
    passenger (4.0.60)
      daemon_controller (>= 1.2.0)
      rack
      rake (>= 0.8.1)
    rack (1.6.4)
    rake (11.3.0)

PLATFORMS
  ruby

DEPENDENCIES
  passenger (~> 4.0.59)
  rack (= 1.6.4)

BUNDLED WITH
   1.10.6

但我的bundle exec命令无法找到rake或ruby版本。我什么都错过了?

2 个答案:

答案 0 :(得分:0)

Ruby,bundler和gem都需要一组一致的路径和环境变量来定位各种脚本,binstub,gemsets和可执行文件。 RVM和rbenv解决了为每个版本设置此问题的问题。如果您有决心,可以自己设置环境,但是您需要了解这些版本管理员的作者在编写代码时学到了什么。我使用rbenv,文档可以很好地描述rbenv在为每个已安装的ruby维护一致环境时所做的工作。

答案 1 :(得分:0)

Bundler是一个gem,它安装在一个ruby版本下。

使用Rbenv或RVM管理机器中的多个ruby版本。