2

我想使用从我上传的 Gemfile 中指定的 gem。但是,我不断得到

/usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- capybara (LoadError) from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' from app.rb:3:in `<main>'

似乎代码找不到所需的宝石。这是我的.worker文件:

runtime "ruby"
stack "ruby-2.1"

exec "app.rb"

gemfile "Gemfile"

full_remote_build true

我的Gemfile

source "https://rubygems.org"

gem "capybara"
gem "capybara-webkit"

我使用以下命令上传了我的作品:

zip -r my_work.zip . ; iron worker upload --zip my_work.zip --name my_work iron/ruby ruby app.rb ; iron worker queue --wait my_work

提前致谢。

4

1 回答 1

2

这里有几件事:

1)您正在使用带有 .worker 文件的 full_remote_build,然后上传 zip。这两件事不能在一起,它是一个或另一个。

2) 确保您正在出售宝石,以便在压缩它们时包含它们。给供应商:docker run --rm -v "$PWD":/worker -w /worker iron/ruby:dev bundle install --standalone --clean。然后在脚本顶部添加:require_relative 'bundle/bundler/setup'.

有关详细信息,请参阅此处的文档:https ://github.com/iron-io/dockerworker/tree/master/ruby

于 2016-01-13T14:57:06.783 回答