RVM路径问题,需要运行`rvm use`每个会话

时间:2015-10-26 03:01:18

标签: ruby-on-rails rvm

最终尝试使用Capistrano在mac上运行登台服务器。现在我只是想在登录时正确设置环境。

$bundle show rails
-bash: bundle: command not found
$ rvm use 1.9.3
Using /Users/me/.rvm/gems/ruby-1.9.3-p551
$ bundle show rails
/Users/me/.rvm/gems/ruby-1.9.3-p551/gems/rails-3.1.10

以下是gem environment

的输出
$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.8
  - RUBY VERSION: 1.9.3 (2014-11-13 patchlevel 551) [x86_64-darwin14.5.0]
  - INSTALLATION DIRECTORY: /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm
  - RUBY EXECUTABLE: /Users/me/.rvm/rubies/ruby-1.9.3-p551-rvm/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm/bin
  - SPEC CACHE DIRECTORY: /Users/me/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/me/.rvm/rubies/ruby-1.9.3-p551-rvm/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-14
  - GEM PATHS:
     - /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm
     - /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm/bin
     - /Users/me/.rvm/gems/ruby-1.9.3-p551-rvm@global/bin
     - /Users/me/.rvm/rubies/ruby-1.9.3-p551-rvm/bin
     - /Users/me/.rvm/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin

这是~/.bash_profile

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

~/.profile中没有任何内容。

不确定rvm list的正常情况,但我觉得1.9.3的2个安装可能是个问题。

rvm list

rvm rubies

   ruby-1.9.3-p551 [ x86_64 ]
=> ruby-1.9.3-p551-rvm [ x86_64 ]
   ruby-2.0.0-p451 [ x86_64 ]
 * ruby-2.0.0-p643 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

更新:绝对安装1.9.3。卸载1.9.3-p551和1.9.3-p551-rvm并重新安装1.9.3-p551。现在,当在dir中进行cd时,它说:

ruby-1.9.3-p551-rvm is not installed.
To install do: 'rvm install ruby-1.9.3-p551-rvm'

不确定为什么最后坚持-rvm。我的.ruby-version只有rvm 1.9.3-p551

另一个更新:我没有理由坚持使用1.9.3所以我已经转移到了2.0.0。 rvm似乎存在某种类型的错误,最终期望-rvm为1.9.3。还需要弄清楚我的路径rvm路径。路径 RVM很好。这似乎是一个全球性问题。工作正常的目录which bundle返回/Users/joshuamark/.rvm/gems/ruby-2.0.0-p451@global/bin/bundle。使用/Users/joshuamark/.rvm/gems/ruby-2.0.0-p643/bin/bundle后,无效的目录将返回rvm use

1 个答案:

答案 0 :(得分:0)

通过全新的bash会话,我在损坏的目录中运行gem install bundler然后bundle。完成后,gem env有正确的路径,新会话找到bundle命令。

我仍然觉得rvm use指向默认的rvm环境而不是应用程序中的命名空间环境(通过.ruby-gemset)非常奇怪。似乎安装bundler与为rvm设置gem env有关。如果有人拥有它,我会很感激。