Gem whenever 使用时出现 sh: bundle: command not found 错误

Fighting_3 · 发布于 2017年08月29日 · 最后由 Fighting_3 回复于 2017年09月22日 · 363 次阅读
96

我按照git上的说明安装了该gem,手动执行某个任务可以执行成功,但是用whenever的定时任务时,log日志里每个周期出现sh: bundle: command not found这个报错,不是很懂啥意思,求资深玩家指导指导,毕竟项目快交了,我还不知道咋办😂 😂 目前已经解决啦,谢谢几位大佬的帮助,最后我列出了我遇到的问题以及解决方案。

共收到 5 条回复
2099

gem install bundler

1107

你如果用 rvm 装的话 考虑这样用 /usr/bin/sudo -iu 你的用户 命令

96
2099hz_qiuyuanxin 回复

我也觉得可能是这个原因,正在尝试,我装了2个版本的rails和ruby,rubymine打开项目命令是可用的,但是在项目里用绝对路径切换下目录,虽然还是到项目本身的目录,但是命令就不可用了

96

搞定了,原来就是版本的问题,我把ruby2.4.1干掉就ok了😂 ,另外默认写入的定时动作是production模式的,我想在development环境下测试,怎么弄呢?现在我是直接在任务列表里手动把-e production删掉来做的。。

96

目前已经把这个问题解决了,在这里分享下我遇到的问题以及解决的方案。 1.按照官方文档装上whenever后,在schedule.rb文件里加入这些代码

set :output, 'path'
set :environment, :development

第一句是指定任务列表的输出地址(log),可以查看;第二句是指定运行环境,不写的话默认在开发环境运行。 2.我遇到的这个问题,总是报错sh: bundle: command not found(在日志里看到的输出),因为我安装了好几个版本的ruby,默认版本不是该项目的版本,所以会报错,解决方案是用.ruby-version文件来控制项目的ruby版本(具体怎么操作搜索引擎应该能搜到)

32 Fighting_3 关闭了讨论 09月22日 15:39
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册