前提・実現したいこと
Railsにてwhenever
を利用してタスクを定期実行したいと考えています。
発生している問題・エラーメッセージ
現状は下記のエラーが発生しており、定期実行されているものの実行するコマンドの権限がないのでエラーが発程しているのではないかと考えています。
(Macだとcornの権限設定を何かしらやる必要があると聞いた)
/Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `pwd': Operation not permitted - getcwd (Errno::EPERM) from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `lockfile_contents' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:68:in `lockfile_version' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:22:in `bundler_version_with_reason' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:7:in `bundler_version' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/bundler_version_finder.rb:39:in `compatible?' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1037:in `block in find_by_path' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `each' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `find' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/specification.rb:1036:in `find_by_path' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems.rb:213:in `try_activate' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:123:in `rescue in require' from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require' from /Users/user_name/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:9:in `<main>' /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- executable-hooks/hooks (LoadError) from /Users/user_name/.rvm/rubies/ruby-2.6.3/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' from /Users/user_name/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:9:in `<main>'
該当のソースコード
schedule.rb
とタスクのコードは下記のようになっています。
schedule.rb
1# wheneverにrailsを起動する必要があるためRails.rootを使用 2require File.expand_path(File.dirname(__FILE__) + "/environment") 3set :environment, :development 4 5# cronのログの場所 6set :output, "#{Rails.root}/log/cron.log" 7 8every 1.hours, at: 0 do 9 rake 'user_task:create_user' 10end
user_task.rake
1namespace :user_task do 2 desc "check_remind_time" 3 task user_create: :environment do 4 User.create(name: "cc", email: "cc@gmail.com", password: "cc", password_confirmation: "cc") 5 end 6end
こちらエラーの原因や対処法のアドバイスをいただけると幸いです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
MacOS Catalina
ruby 2.6.3
Rails 5.2.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。