2011-11-27 36 views

Trả lời

13

Bạn có thể chạy which ruby để tìm nơi ruby ​​sẽ thực thi nếu bạn nhập ruby trong Thiết bị đầu cuối.

Nếu bạn muốn tìm hiểu thêm thông tin hiểu về thực thi, bạn có thể chạy:

$ ls -l $(which ruby) 
lrwxr-xr-x 1 root wheel 76 Nov 8 12:56 /usr/bin/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby 

Đó là, thực hiện which ruby, và thông qua kết quả đó vào ls -l, mà sẽ cho bạn thấy rằng nó thực sự là một liên kết tượng trưng đến nhị phân trong khung công tác Ruby. Bạn cũng có thể sử dụng file để tìm ra những loại tập tin đó là:

$ file $(which ruby) 
/usr/bin/ruby: Mach-O universal binary with 2 architectures 
/usr/bin/ruby (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/ruby (for architecture i386): Mach-O executable i386 

Nếu bạn muốn chắc chắn rằng bạn thực hiện ruby ​​đó là trên đường đi của người dùng từ một kịch bản, thay vì hardcoding nơi Ruby, bạn có thể sử dụng các chỉ thị thông dịch viên sau ở phía trên cùng của kịch bản của bạn:

#!/usr/bin/env ruby 

này hoạt động vì khá nhiều tất cả các hệ thống hiện đại có khả năng thực hiện tại /usr/bin/env đó sẽ thực hiện các tiện ích mà bạn vượt qua nó dựa trên con đường của bạn; do đó, thay vì mã hóa cứng /usr/bin/ruby vào tập lệnh của bạn, bạn có thể để env tìm đường dẫn cho bạn.

3

whereis ruby trong một cửa sổ Terminal sẽ cho bạn biết

+3

Nói chung, 'cái nào đáng tin cậy hơn' whereis'. 'which' sẽ tìm thấy một trong đó thực sự trong con đường của bạn, trong khi' whereis' sẽ xem xét trong một số thư mục tiêu chuẩn; nếu bạn có các thư mục không chuẩn trong đường dẫn của bạn (như '/ opt/local/bin' cho MacPorts),' whereis' sẽ không tìm thấy những gì bạn đang tìm kiếm. –

2

Bạn nên tìm thấy nó dưới System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
và symlinked để /usr/bin/ruby.

chạy which ruby sẽ cung cấp cho bạn vị trí chính xác của ruby ​​đang được sử dụng nếu có một hoặc nhiều triển khai trên hệ thống của bạn.

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