2015-07-15 21 views
7

Tamam, bu yüzden Docker resmimi oluştururken bir hatam var (bir dağıtım adımına benzediğini düşünün veya Docker'ı tanımıyorsanız Heroku konuşlandırmasını düşünün). :test ve :development gruplarda bulunanRake Varlıkları Geliştirme veya Test Gruplarındaki Taşlar olmadan Önceden Oluşturma

Mücevher ön derleme adımı gerçekleştiğinde aradım ediliyor ve ben --without development test araya getirdik beri - Ben capybara-webkit bu gruba hatayı yapmaz sadece bu yüzden QT olmasını istemiyoruz olarak - precompile adımı bir hata atıyor. Yani temelde

RUN /bin/bash -l -c "RAILS_ENV=production bundle exec rake assets:precompile RAILS_GROUPS=assets --trace" 

:

Could not find <gem-name> in any of the sources (Bundler::GemNotFound) 

Benim Gemfile: hatanın Dockerfile satır

source 'https://rubygems.org' 


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.1.9' 
# Use sqlite3 as the database for Active Record 
# gem 'sqlite3' 
# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# Use CoffeeScript for .coffee assets and views 
gem 'coffee-rails', '~> 4.1.0' 
# See https://github.com/sstephenson/execjs#readme for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
gem 'turbolinks' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.0' 
# bundle exec rake doc:rails generates the API under doc/api. 
gem 'sdoc', '~> 0.4.0', group: :doc 

# Use ActiveModel has_secure_password 
# gem 'bcrypt', '~> 3.1.7' 

# Use Unicorn as the app server 
# gem 'unicorn' 
gem 'unicorn', '~> 4.8.3' 
gem 'unicorn-worker-killer', '~> 0.4.2' 

# Use Capistrano for deployment 
# gem 'capistrano-rails', group: :development 

gem 'rdf', '~> 1.1.0' 
gem 'tripod', '~> 0.11.1' 

gem 'devise' 
gem 'devise_invitable' 
gem 'authority' 
gem 'mongoid', '~> 4.0.0' 

gem 'bootstrap-sass', '~> 3.3.3' 

# pagination 
gem 'kaminari', '~> 0.16.3' 
gem 'bootstrap-kaminari-views' 

# background processing 
gem 'sidekiq' 
gem 'sidekiq-status' 
gem 'request_store', '~> 1.1.0' 

# add memoization 
gem 'memoist', '~> 0.12.0' 

# dropbox gem for uploads etc 
gem 'dropbox-sdk', '~> 1.6.4' 

# error reporting 
gem 'sentry-raven' 

group :development, :test do 
    gem "rspec-rails", "~> 3.0.0" 
    gem "factory_girl_rails", "~> 4.5.0" 
    gem "capybara", "~> 2.4" 
    gem "database_cleaner" 
    # gem "selenium-webdriver" 
    gem 'poltergeist' 
    gem 'capybara-webkit' 

    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
    #gem 'byebug' 
    gem 'pry-byebug' 
    gem 'better_errors', '~> 2.1.1' 

    # Access an IRB console on exception pages or by using <%= console %> in views 
    gem 'web-console', '~> 2.0' 

    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 
    # gem 'spring' 
end 

olduğunu

hata hep bir çeşididir gerçekten sonra ne komisyon görev için --without test development eşdeğerdir. Bunu yapabilir miyim? Bazı tavsiyeler gereğince, zaten (application.rb olarak) değiştirdik:

Bundler.require(*Rails.groups) 

Herkes

Bundler.require(:default, :assets, Rails.env) 

için Raylar-Fu yeterince bu olayı çözmek için var? Dokümanlara ve SO'ya baktım, meslektaşlarıma da soruyorum ama hala kafamı duvara çarpıyor.

+0

Şimdiye kadar bunu anladınız mı, çünkü bu gemin herhangi bir kaynakta bulunamaması durumunda da, bir geminin bağımlılığı (yağmur damlaları) hakkında bir hata (unicorn) ile karşılaşıyorum. Bu, docker oluşturma işlemi sırasında yüklenmektedir * –

+0

Tam olarak hangi taşlar bulunmuyor? Muhtemelen olan, ': development,: test' grubundaki değerli taşlardan birinin de varlık boru hattı tarafından da kullanılan bir bağımlılıktan çekilmesidir. Bu bağımlılığı izole etmeli ve ': development:: test' grubunun dışındaki Gemfile'ınıza koymalısınız. – Chris

cevap

1
bundle install --path vendor/cache 

Bunu deneyin ve çalışmıyorsa bana bildirin!

+0

Teşekkürler, ama sonunda çözmek için 'capybara-webkit' hening kadar sona erdi. Umarım başka birine yardım eder! –

İlgili konular