Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 运行Docker时git源尚未签出_Ruby_Docker_Rubygems_Bundler - Fatal编程技术网

Ruby 运行Docker时git源尚未签出

Ruby 运行Docker时git源尚未签出,ruby,docker,rubygems,bundler,Ruby,Docker,Rubygems,Bundler,我目前在尝试使用GitHub的gem时遇到了一个错误。我的档案中有以下内容: # Gemfile source 'https://rubygems.org' ruby '2.3.1' gem 'sinatra' gem 'rack' gem 'puma' group :development do gem 'byebug' gem 'rack-test' gem 'rerun', github: 'alexch/rerun', branch: 'master' end 当我从D

我目前在尝试使用GitHub的gem时遇到了一个错误。我的档案中有以下内容:

# Gemfile
source 'https://rubygems.org'
ruby '2.3.1'

gem 'sinatra'
gem 'rack'
gem 'puma'

group :development do
  gem 'byebug'
  gem 'rack-test'
  gem 'rerun', github: 'alexch/rerun', branch: 'master'
end
当我从
Dockerfile
运行
bundle install
时,它会显示如下消息:

...
Installing sinatra 1.4.6
Installing listen 3.1.5 (was 3.0.6)
Using rerun 0.11.0 from git://github.com/alexch/rerun.git (at master@3e4c486)
Bundle complete! 6 Gemfile dependencies, 14 gems now installed.
...
但是,当我启动容器时,我得到:

The git source git://github.com/alexch/rerun.git is not yet checked out. Please run `bundle install` before trying to start your application

我见过类似的问题,但与Docker无关。

结果我找到了问题所在。问题与我的Gemfile被用于构建Docker映像有关

我没有在本地运行
bundle install
命令,这导致
Gemfile.lock
没有更新。运行命令后,以下内容被添加到我的
Gemfile.lock

@@ -1,14 +1,20 @@
+GIT
+  remote: git://github.com/alexch/rerun.git
+  revision: 3e4c486304be406cb86180ef70ec24e9ae055ce4
+  branch: master
+  specs:
+    rerun (0.11.0)
+      listen (~> 3.0)

结果证明这就是我所需要的。一旦更新了文件,重建了映像并运行了容器,
bundle-exec-rerun
,一切正常。因此,问题是我使用了
Gemfile.lock
来帮助缓存/版本锁定,但未能使用我的
Gemfile
保持更新

尽可能快地等待。。。2天,我接受:-)