【发布时间】:2016-12-17 12:11:03
【问题描述】:
我使用的是 osx,并在路径中创建了一个 ruby 脚本:/Users/diogo/workspace/outros/crawler_trf,名称为 get_news.rb
所以我尝试使用以下行通过 crontab 执行它:*/1 * * * * 'ruby /Users/diogo/workspace/outros/crawler_trf/get_news.rb' > /tmp/crawler_trf.out,我得到了错误:/bin/sh: ruby /Users/diogo/workspace/outros/crawler_trf/get_news.rb: No such file or directory
经过一些搜索和此处的问题,我解决了删除引号的问题,现在我的 crontab 看起来像这样:*/1 * * * * cd /Users/diogo/workspace/outros/crawler_trf/ && ruby get_news.rb > /tmp/crawler_trf.out
但现在我遇到了一个新错误:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mail (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from get_news.rb:3:in `<main>'
我的文件开头是:
require 'nokogiri'
require 'open-uri'
require 'mail'
我的 ruby 版本是 2.3.0,我在 .ruby-version 中指定了它,并使用 `.ruby-gemset 中指定的 gemset
我通过 bundle 安装了 gems
我真的寻找答案很久了,但我什么也没找到。
【问题讨论】:
-
你是如何安装这些 gem 的?你有没有为他们运行
gem install?或者,如果它们在项目的 Gemfile 中,请尝试使用bundle exec ruby。 -
如果我执行 bundle 接收错误
/bin/sh: bundle: command not found我将编辑我的帖子添加我的 ruby 版本以及我如何安装 gems