如何在启用环境和警告的情况下运行Ruby脚本?

如何在启用环境和警告的情况下运行Ruby脚本?,ruby,warnings,Ruby,Warnings,我更喜欢使用#使用hash-bang行调用Ruby脚本/bin/env ruby允许我使用本地ruby安装,而不会与系统ruby安装冲突。但是如何在Linux系统上启用警告?我的测试脚本: #!/usr/bin/env ruby -w FOO 在Mac上,我得到: maasha@mel:~$ ./test.rb ./test.rb:3: warning: possibly useless use of a constant in void context ./test.rb:3:in `&l

我更喜欢使用
#使用hash-bang行调用Ruby脚本/bin/env ruby
允许我使用本地ruby安装,而不会与系统ruby安装冲突。但是如何在Linux系统上启用警告?我的测试脚本:

#!/usr/bin/env ruby -w

FOO
在Mac上,我得到:

maasha@mel:~$ ./test.rb
./test.rb:3: warning: possibly useless use of a constant in void context
./test.rb:3:in `<main>': uninitialized constant FOO (NameError)
#/usr/bin/env RUBYOPT=-w ruby


正如在和其他地方所建议的那样

我的第一个答案并不适用于所有系统,因此这里有另一种方法:制作第一行非评论行

$VERBOSE = true
这就是
-w
开关的作用。发件人:

-v'

--“详细”启用详细模式。Ruby将在开始时打印其版本,并将变量$VERBOSE设置为true。一些打印方法 如果此变量为true,则显示额外消息。如果给出此开关,以及 没有其他开关存在,Ruby在打印其版本后退出

-w'启用详细模式,而不在开头打印版本消息。它将$VERBOSE变量设置为true


我注意到了设置
导出RUBYOPT=-w
的可能性,但如果可能的话,我想避免这种情况。ruby论坛上有一个主题:更多关于env和多个参数:哦,现在你告诉我!三年后;o) 对不起,我之前没有看到你的问题,或者没有找到答案,我只是再看一次,这次发现了两个。。。显然,这并不适用于所有系统,因此这里有另一种方法:将第一行非注释行
$VERBOSE=true
作为单独的答案添加。
$VERBOSE = true