Ruby требует вызова неопределенной локальной переменной - PullRequest
0 голосов
/ 29 ноября 2018

Я полный нуб к Руби.Я хочу выполнить файл, который я взял со страницы IoT Amazon AWS, но у меня проблемы с начальным требованием, как показано ниже.

Я использую Ubuntu 18.04, я установил ruby ​​с sudo apt-установите ruby-full , а также 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 голосов
/ 29 ноября 2018

Вы используете неверный тип кавычек, вместо обычных кавычек используйте обычные:

require 'rubygems'
require 'mqtt'

Кавычки используются для запуска команд оболочки, кстати.довольно странно, что вы получаете здесь ошибки ruby, я ожидал бы что-то вроде:

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