我对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)
答案 0 :(得分:3)
您使用了错误的引号类型,使用常规引号而不是反引号:
require 'rubygems'
require 'mqtt'
反引号用于运行shell命令btw。很奇怪,您在这里遇到红宝石错误,我希望这样:
[29] pry(main)> `rubygems`
Errno::ENOENT: No such file or directory - rubygems