0

我自己编写了一个需要 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 来管理我的红宝石)

4

0 回答 0