Ruby解释器在哪里?

时间:2011-11-27 16:59:16

标签: ruby interpreter interpreted-language

我在OS X上使用Ruby 1.8.7。 Ruby解释器位于何处?我的目标是了解有关Ruby,解释语言和解释/解析的更多信息。

3 个答案:

答案 0 :(得分:14)

如果您在终端中输入which ruby,则可以运行ruby以找出将执行的ruby的位置。

如果要查找有关可执行文件的更多信息,可以运行:

$ 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

即,执行which ruby,并将其结果传递给ls -l,这将向您显示它实际上是Ruby框架中二进制文件的符号链接。您还可以使用file找出它是什么类型的文件:

$ 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

如果要确保从脚本执行用户路径中的ruby,而不是在Ruby所在的位置进行硬编码,则可以在脚本顶部使用以下解释器指令:

#!/usr/bin/env ruby

这很有效,因为几乎所有现代系统都有/usr/bin/env的可执行文件,它将根据你的路径执行你传递给它的实用程序;因此,您可以让/usr/bin/ruby为您搜索自己的路径,而不是将env硬编码到您的脚本中。

答案 1 :(得分:3)

终端窗口中的

whereis ruby将告诉您

答案 2 :(得分:2)

你应该找到它 System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
和符号链接到 /usr/bin/ruby

如果您的系统上有一个或多个实现,

运行which ruby将为您提供正在使用的ruby的确切位置。