2012-03-06 64 views
6

我想使用目前使用的ruby的rvm版本來執行頭文件#! /usr/bin/ruby的ruby腳本。我遇到了使用給定版本的問題,但在執行腳本時調用了系統ruby。爲系統上的每個用戶安裝RVM不是一種選擇。使用當前本地用戶RVM安裝的可執行Ruby腳本?

問題:

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

/usr/bin/ruby -v 
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0] 

如何使它不執行系統廣泛安裝RVM以下?

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.3.0] 

回答

27

如果你這樣做which ruby,你會發現,RVM的ruby不在於在/usr/bin/ruby。而是使用:

#!/usr/bin/env ruby 

這會告訴它來查找在當前環境(主要是$PATH)使用哪個ruby

您也可以通過ruby本身執行腳本:ruby myscript.rb

相關問題