所以我是 Ruby on Rails 的新手,我正在做一个简单的 crontab
set :output, './log/cron.log'
set :environment, 'development'
every 1.minute do
runner "puts 'Ola mundo!'"
end
我不知道为什么会收到此错误:
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `pwd': Operation not permitted - getcwd (Errno::EPERM)
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:80:in `lockfile_contents'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:68:in `lockfile_version'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:22:in `bundler_version_with_reason'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:7:in `bundler_version'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb:45:in `filter!'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:284:in `matching_specs'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:272:in `find_spec_for_exe'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
from /usr/bin/bundle:23:in `<main>'
我的最终想法是创建一个作业来从网络获取数据并将其放入 Postgres 数据库(这已经完成)。我每天都需要这个来执行。 所以我考虑将 gem 'whenever' 与 gem 'delayed_job_active_record' 结合起来。我的方法正确吗?
您对此目录的权限似乎出现问题。也许您运行了一些不应该运行的
sudo
内容。跳到终端并在此目录中运行:
sudo chown -R $USER .
这将递归地将当前目录的所有者更改为您自己的用户。