[英]How to use "RVM --default" on MacOSX
在使用 Ruby 和 Rails 一段時間后,我想嘗試 RVM。 一切正常,除了一件事:
在新打開的終端中, ruby
指向系統的 ruby,盡管我使用了rvm --default
命令。
user@terra ~ $ ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
user@terra ~ $ which ruby
/opt/local/bin/ruby
user@terra ~ $ rvm list
ruby-1.8.7-p334 [ ]
=> ruby-1.9.2-p180 [ ]
調用rvm reload
后一切正常
user@terra ~ $ rvm reload
user@terra ~ $ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.1]
tmangner@terra ~ $ which ruby
/Users/user/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
我按照文檔中的描述設置了我的.bash_profile
:
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"
那--default
似乎對我不起作用......
user@terra ~ $ rvm use 1.9.2 --default
Using /Users/user/.rvm/gems/ruby-1.9.2-p180
user@terra ~ $ rvm default
user@terra ~ $
我使用的是 Mac OS X Snow Leopard (10.6.6)
我曾經遇到過同樣的問題。 結果是 rvm-script 被加載了兩次,這有點破壞了。
檢查打開 shell 時加載的所有文件:
/etc/profile
~/.bashrc
~/.bash_profile
等等,並確保它們不會加載 RVM 兩次。
也許放
echo "Going to load RVM"
前
[[ -s "/Users/user/.rvm/scripts/rvm" ]] && source "/Users/user/.rvm/scripts/rvm"
在您的~/.bash_profile
中查看它是否發生。
移動初始化
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
在~/.bash_profile
的底部為我解決了這個問題。
ZSH 用戶可能的修復方法:
不知何故,我有:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
在 .zprofile 和 .zshrc 中。
從 .zprofile 中刪除該行解決了該問題。 (盡管您應該能夠從中刪除,只要它只出現一次)
運行命令:
rvm use --default 1.9.2?
這在 openSUSE 上對我有用,但我不知道 Snow Leopard。
我有同樣的問題。
移動:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
在 MacPorts 之后:
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
為我解決了這個問題。
我遇到了同樣的問題,因為我使用Oh-My-Zsh ,如果我重復調用 RVM,跟蹤起來會有點困難。
我通過將調用從位於\\oh-my-zsh
內的\\oh-my-zsh
\\custom
文件夾中的單獨 rvm.zsh 文件移動到我的主 .zshrc 文件的末尾來修復它。
看起來 RVM 對不在 zsh 初始化序列結束時被調用非常敏感。
代替:
rvm use 1.9.2 --default
我用的是完整版:
rvm use ruby-1.9.2-p290 --default
這在 zsh 中對我有用。
作為完整性檢查,請確保您正在處理的項目與您嘗試在.ruby-version
文件中設置為默認值的 Ruby 版本相同。
它發生在我身上,我無法弄清楚為什么rvm
不使用我的默認值。
我在 Mac OS X 10.7 上遇到了同樣的問題,后來我發現我的帳戶沒有添加到“rvm”組中。
在我添加自己之后,我可以設置--default
。
我的問題已通過更改解決
PATH=/usr/local/bin
到
PATH=$PATH:/usr/local/bin
在我的.zshrc
文件中。
顯然,您首先需要確保正確安裝了 RVM,然后運行type rvm | head -1
type rvm | head -1
檢查@choise 建議的內容。 rvm use --default 1.9.3-p362
現在可以正常工作。
有關更多信息,請參閱“ 有時,CD 到帶有 .rvmrc 的目錄不會設置 Ruby 版本或 gemset ”。
試試這個來為新的 shell 設置默認的 Ruby:
sudo rvm alias create default 1.9.2
對於 Mac OS 上的一些真正的新手,請使用 JewelryBox 並在首選項部分找到
"show default ruby in system menu bar"
檢查此項允許您在紅寶石之間切換。
您可以通過“system@*”選項來選擇您預先安裝的 rubygems(如果您有 rubygems)。
我遵循了上面的建議 - 檢查了我的 bash_profile(這很好)並且還注意到在 ubuntu 中你可能需要領導https://rvm.io/support/faq/#shell_login的建議
但是,我仍然遇到這個問題,直到我意識到我嘗試運行的項目有一個 .rvmrc 文件,該文件指定了我尚未安裝的 ruby 版本。 當我糾正這個問題時 - 我不再遇到這個問題(所以實際上並不是使用默認值不起作用,而是這個項目覆蓋了它)
我不得不刪除[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
來自 ~/.bash_profile 的[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
行,必須將其移動到 ~/.bashrc 的最底部。
這解決了 OS X 10.10.1 上的問題。
您需要將 RVM 的路徑放在 PATH 前面:
$ export PATH=/path/to/rvm-dir:$PATH
什么type rvm | head -1
type rvm | head -1
打印出來?
在我最新的 MacOS XI 上的.bash_profile
,必須輸入:
# Ruby Version Manager
[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm"
我還創建了一個 gemset 並將其設置為默認值:
rvm reload
rvm install 1.9.2
rvm --create use 1.9.2@default
rvm --default use 1.9.2@default
出於某種原因,我的$HOME/bin
目錄中有ruby
、 gem
、 rake
, ... 文件存根。 因此我的rvm --default use 1.9.3
沒有按預期工作。 刪除$HOME/bin
目錄解決了這個問題。
cat bin/ruby
#!/usr/bin/env bash
if [[ -s "/usr/local/rvm/environments/ruby-1.9.2-p290" ]]
then
source "/usr/local/rvm/environments/ruby-1.9.2-p290"
exec ruby "$@"
else
echo "ERROR: Missing RVM environment file: '/usr/local/rvm/environments/ruby-1.9.2-p290'" >&2
exit 1
fi
同樣的鉛在這里。 線在那兒有兩次,它把它弄壞了。。。。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.