2011-04-25 86 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