我在OS X上使用Ruby 1.8.7。 Ruby解释器位于何处?我的目标是了解有关Ruby,解释语言和解释/解析的更多信息。
答案 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的确切位置。