我自己编写了一个需要 Listen Gem 的简单 Ruby 脚本。像这样在控制台中运行它非常有效。
$ ruby script.rb ARGS
我总是将 PWD 作为参数传递。我对此很恼火,所以我想让脚本在我的 linux 上可执行。所以我将以下行添加到脚本的开头
#!/usr/bin/env ruby
require "listen"
...
当我现在将它用作自执行文件时,它会遇到错误。
$ ./script.rb
输出:
./listen.rb:55: uninitialized constant Listen (NameError)
from ./script.rb:3:in `require'
from ./script.rb:3
你有什么建议这个问题的原因可能是什么?我有一个猜测:调用实际上是#!/usr/bin/env ruby
不同的 ruby 环境。$ ruby
但我怎样才能发现呢?(我正在使用 rbenv 来管理我的红宝石)