RVM 路径问题,需要 运行 `rvm use` Every Session

RVM Path Issues, Need to Run `rvm use` Every Session

最终尝试使用 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。现在当 cd'ing 在目录中时,它说:

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 在 1.9.3 的末尾期望 -rvm 似乎存在某种错误。仍然需要弄清楚我的路径 rvm 路径。 RVM的路径没问题。这似乎是一个全球性的问题。工作正常的目录有 which bundle return /Users/joshuamark/.rvm/gems/ruby-2.0.0-p451@global/bin/bundle。使用rvm use.

后无效的目录returns /Users/joshuamark/.rvm/gems/ruby-2.0.0-p643/bin/bundle

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

我仍然觉得很奇怪 rvm use 指向默认的 rvm 环境而不是应用程序中的命名空间环境(通过 .ruby-gemset)。似乎安装捆绑器与为 rvm 设置 gem 环境有关。如果有人知道,我将不胜感激。