如何为 ruby IronWorker 获取依赖项

How to require dependencies for ruby IronWorker

我在 iron.io. I follow the steps in this tutorial 中为 运行 编写了一个简单的脚本,但在测试期间失败了。

$ docker run --rm -it -e "SLACK_API_TOKEN="xox-LALLALA"" -v "$PWD":/worker -w /worker iron/ruby ruby bubbebot.rb
bubbebot.rb:1:in `require_relative': cannot load such file -- /worker/slack-ruby-client (LoadError)
    from bubbebot.rb:1:in `<main>'

无论我尝试require还是relative_require都失败了。知道我需要做什么来供应这种依赖吗?

该错误消息表示您正在尝试使用 iron/ruby 图片中没有的内容。

要了解如何解决此问题,让我们看一下该图像的 Docker 文件:

FROM iron/base RUN apk update && apk upgrade \ && apk add libxml2 libxslt libevent libffi glib ncurses readline \ openssl yaml zlib curl mariadb-libs libpq ruby ruby-io-console \ ruby-bigdecimal \ && rm -rf /var/cache/apk/*

如果您想使用该构建中不存在的内容,则需要自行添加。我建议制作您自己的自定义 Docker 图像。类似的东西应该起作用: FROM iron/ruby:2.3.1-dev RUN apk add && apk update RUN gem install slack --no-ri --no-rdoc RUN rm -rf /var/cache/apk/*

构建该映像并将其推送到 Dockerhub 并尝试 运行 您的代码。