How to run Ruby script with env and warnings enabled?

ruby, warnings

Solution

My first answer doesn't work on all systems, so here's another method: make your first non-comment line

$VERBOSE = true

which is What the `-w` switch does. From http://linux.die.net/man/1/ruby:

-v'

--verbose' Enables verbose mode. Ruby will print its version at the beginning, and set the variable $VERBOSE to true. Some methods print extra messages if this variable is true. If this switch is given, and no other switches are present, Ruby quits after printing its version.

-w' Enables verbose mode without printing version message at the beginning. It sets the $VERBOSE variable to true.

Problem

I prefere to invoke Ruby scripts with a hash bang line using `#!/bin/env ruby` which allows me to use a local Ruby installation without conflicting with the systems Ruby installation. But how can I enable warnings on Linux systems? My test script: ``` #!/usr/bin/env ruby -w FOO ``` On Mac I get: ``` 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) ``` On Linux I get: ``` maasha@orsted:~$ ./test.rb /usr/bin/env: ruby -w: No such file or directory ```

Original source

Related problems