我如何找到ruby翻译?

在ruby脚本中,如何获取ruby解释器的路径?

示例脚本:

#!/path/to/ruby puts `#{RUBY_INTERPRETER_PATH} -e "puts 'hi'"` #EOF 

其中RUBY_INTERPRETER_PATH是一种神秘的查找/path/to/ruby

不过,这只是一个例子。 在这种情况下我意识到我可以将/path/to/ruby复制到脚本中,但我不想这样做。 无论#!是什么,我希望这个“正确”工作#! 线说。 即使在windows下运行。

再见!

这些天(1.9+)您可以使用内置方法(应该与Jruby等一起使用),如下所示:

RbConfig.ruby或Gem.ruby

 $ irb --simple-prompt >> RbConfig.ruby => "C:/installs/Ruby193/bin/ruby.exe" >> Gem.ruby => "C:/installs/Ruby193/bin/ruby.exe" 

要获取当前运行的ruby解释器的路径:

 require 'rbconfig' RUBY_INTERPRETER_PATH = File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["RUBY_INSTALL_NAME"] + RbConfig::CONFIG["EXEEXT"])