Я пытаюсь реализовать gem всякий раз, чтобы запускать некоторые задачи по рейку.
Но я получаю эту ошибку:
/bin/bash: /usr/local/bin/bundle: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
Я добавил всякий раз, когда в моем Gemfile
, запустил bundle
, создал schedule.rb
. Также моя задача rake работает нормально, если я попробую ее вручную в своем терминале.
Вот мой schedule.rb
:
# schedule.rb
set :bundle_command, "/usr/local/bin/bundle exec"
set :output, "#{path}/cron_log.log"
require File.expand_path('../application', __FILE__)
env :PATH, ENV['PATH']
every 1.minute, roles: [:app] do
command "echo 'Running rake task'"
command "bundle exec rake 'users:create_new_user'", :environment => "development"
rake 'users:create_new_user', :environment => "development"
end
первая команда работает нормально и печатается в моем cron_log .log правильно. Но два других возвращают ошибки.
А это моя задача граблей (только для тестирования)
namespace :users do
desc "this rake creates ..."
task :create_new_user => :environment do
User.create(email: 'hello@world.com', password: '12341234')
puts "user created"
end
end
Моя ruby версия 2.6.6
На всякий случай немного дополнительной информации :
which ruby => /Users/me/.rbenv/shims/ruby
which whenever => /Users/me/.rbenv/shims/whenever
which rails => ./bin/rails
which bundle => ./bin/bundle
which bundler => /Users/me/.rbenv/shims/bundler
Большое спасибо!