2009-09-25 121 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选项来解释呼叫。

相关问题