2011-04-25 28 views
0

我有一些路徑問題,並試圖瞭解如何讀取和匹配的路徑。下面是我在做什麼:如何理解Ubuntu中的Ruby環境?

$PATH 
bash: /home/agenadinik/.rvm/gems/ruby-1.9.2-p180/bin:/home/agenadinik/.rvm/gems/[email protected]/bin:/home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin:/home/agenadinik/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory 

然後我想看到的是在我的紅寶石環境:

$gem environment 
/home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/gem:4: 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.6.2 
    - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/agenadinik/.rvm/gems/ruby-1.9.2-p180 
    - RUBY EXECUTABLE: /home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/agenadinik/.rvm/gems/ruby-1.9.2-p180/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-linux 
    - GEM PATHS: 
    - /home/agenadinik/.rvm/gems/ruby-1.9.2-p180 
    - /home/agenadinik/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

什麼我不明白的是我的路徑,需要匹配在我的紅寶石環境和$ PATH

此外,我的$ PATH幾乎是在我的/home/username/.bashrc文件中設置? 通常我需要指向的Ruby可執行文件的路徑是什麼?

同樣,在做這紅寶石返回此:

$ which ruby 
/home/agenadinik/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 

謝謝!

回答

3

您正在使用RVM。你有許多可用的Ruby路徑。當您在bashrc中找到RVM腳本時,它將修改您的路徑。每當您rvm use XXX它都會修改您的路徑以反映新版本的Ruby,並更新所有的bin以匹配該版本。如果您正在嘗試爲Ruby腳本創建適當的shebang,則應使用env

#!/usr/bin/env ruby 

這會在您的路徑中找到當前的ruby可執行文件。

+0

實際上在做「env ruby​​」只會讓系統掛起。 : - /爲什麼會發生? – Genadinik 2011-04-25 16:54:14

+0

這就是運行'ruby'時發生的情況。口譯員正在閱讀stdin。 – 2011-04-25 17:33:33