Ruby 需要导致未定义的局部变量

Ruby require causing undefined local variable

我完全是 Ruby 的菜鸟。我希望执行从 Amazon AWS IoT 页面获取的文件,但初始要求如下所示存在问题。

我正在使用 Ubuntu 18.04,我已经使用 sudo apt-get install ruby-full 安装了 ruby,还有 sudo gem 安装 mqtt 。该文件名为 iot-connector.rb。我用 ruby iot-connector.rb 执行文件。很明显它找不到这些require文件,但是我如何告诉Ruby找到它们。谢谢

require ‘rubygems’
require ‘mqtt’

#more code....

我得到的错误:

Traceback (most recent call last):
iot-connector.rb:1:in `<main>': undefined local variable or method `‘rubygems’' 
for main:Object (NameError)

您使用了错误类型的引号,请使用常规引号而不是反引号:

require 'rubygems'
require 'mqtt'

反引号用于 运行 shell 命令,顺便说一句。你在这里得到 ruby 错误很奇怪,我希望这样的事情:

[29] pry(main)> `rubygems`
Errno::ENOENT: No such file or directory - rubygems