OSX Lion新的bash会话rvm默认ruby没用过

Ana*_*and 10 ruby macos terminal rvm osx-lion

我使用OSX Lion.我已经安装了RVM并将此行放在我的.bash_profile文件中.

[[ -s "/Users/Anand/.rvm/scripts/rvm" ]] && source "/Users/Anand/.rvm/scripts/rvm"  # This loads RVM into a shell session.
Run Code Online (Sandbox Code Playgroud)

我安装了ruby-1.9.2-p290并使用以下命令将其设置为默认rvm ruby​​:

rvm use --default ruby-1.9.2-p290
Run Code Online (Sandbox Code Playgroud)

当我检查 ruby-v

ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.2.0]
Run Code Online (Sandbox Code Playgroud)

问题是,每次打开新的终端窗口或选项卡时,默认的ruby都没有设置.系统ruby正在被使用.ruby -v给出这个:

ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.3.2]
Run Code Online (Sandbox Code Playgroud)

在ruby项目中读取.rvmrc文件也会发生这种情况.当我进入项目并打开一个新选项卡时,它会将我带入项目目录,但不会根据该项目中的.rvmrc设置ruby.我该怎么做才能解决这个问题?

Ana*_*and 15

我遇到了问题.这是$ PATH.我必须将.bash_profile中的rvm相关行作为最后一行.

旧的.bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

source $HOME/Dropbox/dotfiles/bashrc
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
export PATH=/Library/PostgreSQL/9.0/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

新的.bash_profile

source $HOME/Dropbox/dotfiles/bashrc
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
export PATH=/Library/PostgreSQL/9.0/bin:$PATH

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
Run Code Online (Sandbox Code Playgroud)

它奏效了.使用默认的ruby(即ruby 1.9.2)正确打开新窗口和新选项卡


小智 7

我刚刚解决了同样的问题.原来这是一个路径问题.

试试这个

?  ~  which ruby
Run Code Online (Sandbox Code Playgroud)

如果您要获得/usr/bin/ruby,原始ruby安装的路径将掩盖RVM安装中的默认安装.

我在路径(见下文)之前添加了到RVM 的路径到/ usr/bin/ruby​​,它按预期工作.

我使用zsh作为我的shell,因此我必须手动将其添加到我的.zshrc中

export PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting<br />
export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 
Run Code Online (Sandbox Code Playgroud)

如果你使用bash

您的.bashrc可能看起来像这样

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Run Code Online (Sandbox Code Playgroud)

把它改成这个:

PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting
Run Code Online (Sandbox Code Playgroud)

并确保你.bash_profile有这个:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
Run Code Online (Sandbox Code Playgroud)

你应该好好去.

当然这意味着你的shell在查找任何命令时会首先查看你的RVM目录,但这从来没有给我带来任何问题.


sun*_*ity 0

问题#1:

列出的命令是,您已切换“--default”和“use”。

 rvm --default use ruby-1.9.2-p290
Run Code Online (Sandbox Code Playgroud)

检查默认值是否实际设置:

$ rvm list default

Default Ruby (for new shells)

   ruby-1.9.2-p290 [ x86_64 ]
Run Code Online (Sandbox Code Playgroud)

其他一些故障排除提示,以防不起作用。您确定您的 bash 配置文件正在加载吗?尝试只使用“source“/Users/Anand/.rvm/scripts/rvm”而不是检查,也许路径有问题?用户名是否以大写字母开头?

问题#2:您必须明确地 cd 进入包含 .rvmrc 文件的目录才能发生奇迹。我想在某个位置启动控制台不会触发 rvm。我在使用 Pushd 和 Popd 在文件夹之间切换时遇到了这个问题。