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

时间:2018-11-29 11:00:39

标签: ruby amazon-web-services path rubygems undefined

我对Ruby完全陌生。我希望执行我从Amazon AWS IoT页面获取的文件,但是最初的需求如下所示。

我正在使用Ubuntu 18.04,我已经使用 sudo apt-get install ruby​​-full 安装了ruby,还安装了 sudo gem install mqtt 。该文件称为iot-connector.rb。我使用 ruby​​ iot-connector.rb 执行文件。显然,它找不到这些必需文件,但是我如何告诉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)

1 个答案:

答案 0 :(得分:3)

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

require 'rubygems'
require 'mqtt'

反引号用于运行shell命令btw。很奇怪,您在这里遇到红宝石错误,我希望这样:

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