我整理了一个简单的脚本,以便在iron.io中运行。我按照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
失败了。知道我需要做什么来提供这种依赖吗?
答案 0 :(得分:1)
该错误消息表示您正在尝试使用不在iron / ruby图像中的内容。
要了解如何解决这个问题,让我们看看该图像的Dockerfile:
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并尝试在其上运行代码。