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

时间:2013-02-21 10:57:15

标签: ruby warnings

我更喜欢使用#!/bin/env ruby使用哈希爆炸线调用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)

在Linux上我得到:

maasha@orsted:~$ ./test.rb
/usr/bin/env: ruby -w: No such file or directory

2 个答案:

答案 0 :(得分:3)

#!/usr/bin/env RUBYOPT=-w ruby

根据this answerthis answer和其他地方的建议

答案 1 :(得分:2)

我的第一个答案并不适用于所有系统,所以这是另一种方法:制作你的第一个非评论专栏

$VERBOSE = true

这是-w切换的作用。来自http://linux.die.net/man/1/ruby

  

-v&#39;

     

- 冗长&#39;启用详细模式。 Ruby将在开头打印其版本,并将变量$ VERBOSE设置为true。一些方法打印   如果此变量为true,则为额外消息。如果给出这个开关,和   没有其他开关存在,Ruby在打印其版本后退出。

     

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