auf der Suche nach etwas Hilfe.Immer wenn gem 'konnte nicht geladen werden Befehl: Rake'
Ich betreibe eine Schiene app (v3.2.5) mit dem whenever
gem (v0.9.7) und rake
(v11.2.2). Ich tue dies auch in einer Docker Behälter Bild ruby:2.3
(cron
installiert wurde und bundle install
wurde läuft)
Hier ist mein schedule.rb
set :environment, ENV['RAILS_ENV']
every '*/2 9,10,11,12,13,14,15,16 * * 1-5' do
rake "import_csv", output: {:error => 'log/import_csv_errors.log', :standard => 'log/import_csv.log'}'
end
noteRAILS_ENV
bei Containereinführung development
gesetzt
Hier ist mein Cron-Job, der auf dem Container nach dem Build (crontab -l
) ist:
# Begin Whenever generated tasks for: /usr/src/app/config/schedule.rb
*/2 9,10,11,12,13,14,15,16 * * 1-5 /bin/bash -l -c 'cd /usr/src/app && RAILS_ENV=development bundle exec rake import_csv --silent >> log/import_csv.log 2>> log/import_csv_errors.log'
# End Whenever generated tasks for: /usr/src/app/config/schedule.rb
Wenn dieser Job läuft, die Protokolle zurück:
import_csv_errors.log
Bundler::GemNotFound: Could not find rake-11.2.2 in any of the sources
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
import_csv.log
bundler: failed to load command: rake (/usr/local/bin/rake)
Jetzt hier das Seltsame ist. Wenn ich den Cron-Job-Befehl kopieren:
/bin/bash -l -c 'cd /usr/src/app && RAILS_ENV=development bundle exec rake import_csv --silent >> log/import_csv.log 2>> log/import_csv_errors.log'
und führen diese in den Behälter, es funktioniert gut, aber wenn der Job es läuft, ich thos Fehler in den Protokollen erhalten !!! Ich bin ein an verloren hier ...
Ich habe versucht, das Hinzufügen
env :PATH, ENV['PATH']
env :GEM_PATH, '/usr/local/bundle'
an die Spitze der schedule.rb
und ich versuchte dabei
command 'cd /usr/src/app && RAILS_ENV=development bundle exec rake import_csv --silent >> log/import_csv.log 2>> log/import_csv_errors.log'
der Verwendung Statt rake
in der Aufgabe und ich Erhalten Sie die gleichen Fehler.
Jede Hilfe wird empfohlen
Mann, den ich auf dem gleichen Fehler stecke es nichts mit Docker zu tun hat, wenn Sie das tun Rake --help, es läuft gut, aber für andere Rake-Aufgaben gibt es diesen Fehler – user1735921
Können Sie 'finden/-name" Edelsteine "' und zeigen Sie mir die Ausgabe – user1735921
Ich habe gerade mein Problem in diesem Thread beantwortet. Bitte überprüfen Sie @ user1735921 – Awatatah