如何为 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 并尝试 运行 您的代码。
我在 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 并尝试 运行 您的代码。