2012-03-06 26 views
6

Tôi muốn tập lệnh ruby ​​có tiêu đề #! /usr/bin/ruby để thực hiện bằng phiên bản rvm hiện đang sử dụng của ruby. Tôi chạy vào vấn đề mà tôi đang sử dụng một phiên bản nhất định nhưng khi thực thi kịch bản hệ thống ruby ​​được gọi. Cài đặt RVM cho mọi người dùng trên hệ thống không phải là một tùy chọn.Kịch bản Ruby thực thi Sử dụng cài đặt RVM người dùng cục bộ hiện tại?

Vấn đề:

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] 

Làm thế nào để làm cho nó như sau mà không thực hiện một hệ thống rộng cài đặt của 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] 

Trả lời

27

Nếu bạn làm which ruby, bạn sẽ thấy rằng RVM của ruby không nằm ở /usr/bin/ruby. Thay vì sử dụng:

#!/usr/bin/env ruby 

này sẽ cho nó nhìn lên mà ruby để sử dụng trong môi trường hiện tại (về cơ bản $PATH).

Bạn cũng có thể thực thi tập lệnh của mình qua ruby chính nó: ruby myscript.rb

Các vấn đề liên quan