krs*_*ung 9 ruby rubygems bundler docker
我正在尝试使用GitHub中的gem时遇到错误.我的Gemfile中有以下内容:
# 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
Run Code Online (Sandbox Code Playgroud)
当我bundle install从Dockerfile它运行时,使用如下消息:
...
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.
...
Run Code Online (Sandbox Code Playgroud)
但是,当我开始容器时,我得到:
The git source git://github.com/alexch/rerun.git is not yet checked out. Please run `bundle install` before trying to start your application
Run Code Online (Sandbox Code Playgroud)
我见过类似的问题,但与Docker无关.
krs*_*ung 16
事实证明我能找到问题.问题与我用于构建Docker镜像的Gemfile有关.
我没有在本地运行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)
Run Code Online (Sandbox Code Playgroud)
事实证明,这就是我所需要的.一旦我有了更新的文件,重建图像并运行容器一切按预期工作bundle exec rerun.所以问题就是我正在使用它Gemfile.lock来帮助缓存/版本锁定,但未能使用我的更新Gemfile.
| 归档时间: |
|
| 查看次数: |
2455 次 |
| 最近记录: |