2009-09-25 95 views
4

我想從任何地方運行ruby程序。 我想我已經理解它是RUBYLIB。但我無法讓它工作。你能舉個例子嗎?Ruby中的Java CLASSPATH等價於什麼?

+2

爲None-java的人是Ruby開發者:什麼是Java中的CLASSPATH? :) – 2009-09-25 10:21:25

+0

CLASSPATH是;或者:包含* .class文件或庫(包含* .class文件)的目錄的獨立列表,以便在加載類時解析Java VM的依賴關係。 – 2009-09-25 11:47:11

+0

我認爲這個問題意味着在Java中有一組煩人的類路徑「問題」。什麼對應於Ruby中的類路徑問題?缺少寶石/什麼?仍然沒有真正回答,恕我直言。 – Thufir 2012-03-30 16:06:50

回答

1

有一個選項-S它使用PATH環境變量查找腳本。

例如做:

ruby -S some_script 

將查找在當前操作系統的PATH環境變量的some_script。

更新:如果你的腳本需要其他文件,然後使用下面的語句:的

require File.join(File.dirname(__FILE__), "name_of_required_file") 

代替:

require "name_of_required_path" 
+0

好吧,上述文件「some_script」現在正確的紅寶石發現(感謝!),但這個文件還包含一個「需要‘富’」,未加載(LoadError),它駐留在同一目錄中第一腳本... 任何想法? – JCLL 2009-09-25 16:19:15

+1

要獲得您所需的文件,您可以執行以下操作 需要File.join(File.dirname(__ FILE__),「name_of_required_file」) – 2009-09-25 18:04:01

+0

註釋代碼在文件前後刪除2個下劃線它應該是xxFILExx,其中x是一個下劃線 – 2009-09-25 18:04:48

5
  • 您需要manupulate負載路徑$LOAD_PATH ($:)
  • 這是通過-I directories(目錄分隔:在類Unix系統,並通過在DOS/Windows系統中的;。)
  • 你可以添加-I開關RUBYOPT$SAFE必須爲0)
  • 或用RUBYLIB$SAFE必須爲0也),其中包含搜索路徑。
  • RUBYPATH也改變了Ruby程序的搜索路徑。
  • 有關環境變量,以確保它們是正確的設置或導出這樣的Ruby VM看到他們。您可以在ruby.bat或ruby.sh中添加調試打印。
  • 檢查$SAFE設置。如果你不知道它,那麼它可能很好。

我設置八方並RUBYLIBRUBYPATH我loadpath並添加-S選項來解釋呼叫。

相關問題