cron 和bundle exec 问题

发布于 2024-11-30 05:30:41 字数 438 浏览 0 评论 0原文

我已经升级到 Rails 3.0.9,它引入了 rake 问题。除了 cron 作业的问题之外,我已经解决了所有问题。

这曾经有效:

#!/bin/sh
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/
/usr/local/bin/rake refresh_events RAILS_ENV=production

但现在我收到此错误: 您已经激活了 rake 0.8.7,但您的 Gemfile 需要 rake 0.9.2。考虑使用捆绑执行。 /home/p1r65759/apps/abbc/Rakefile:4:in `' (通过使用 --trace 运行任务来查看完整跟踪)

如何修改我的脚本以使用bundle exec,以便它将使用正确版本的 rake 并成功运行? 谢谢。

I've upgraded to rails 3.0.9 which has introduced the rake issues. I've gotten it all resolved except for a problem with a cron job.

This used to work:

#!/bin/sh
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/
/usr/local/bin/rake refresh_events RAILS_ENV=production

But now I get this error:
You have already activated rake 0.8.7, but your Gemfile requires rake 0.9.2. Consider using bundle exec.
/home/p1r65759/apps/abbc/Rakefile:4:in `'
(See full trace by running task with --trace)

How do I modify my script to use bundle exec so it will use the proper version of rake and run successfully?
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

如痴如狂 2024-12-07 05:30:41

如果您的应用程序使用捆绑程序,则不需要使用“/usr/local/bin/rake”作为 rake 的路径。

你可以使用

bundle exec rake

所以你的新脚本将是

#!/bin/sh
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/
bundle exec rake refresh_events RAILS_ENV=production

bundle exec 将工作,因为你已经在你的项目目录中。

并且不要忘记将 rake 包含在您的 Gemfile 中。

If you are using bundler for your application then you don't need to use "/usr/local/bin/rake" as a path for rake.

you can just use

bundle exec rake

so your new script will be

#!/bin/sh
source /usr/local/rvm/scripts/rvm 
cd /home/p1r65759/apps/abbc/
bundle exec rake refresh_events RAILS_ENV=production

bundle exec will work because you are already in your project directory.

And don't forgot to include rake in your Gemfile.

记忆で 2024-12-07 05:30:41

而不是

/usr/local/bin/rake refresh_events RAILS_ENV=production

你应该使用

bundle exec rake refresh_events RAILS_ENV=production

或更好地安装你的包 --binstubs:

bundle install --binstubs --without development test

那么你将拥有 bin/rake:

./bin/rake refresh_events RAILS_ENV=production

instead of

/usr/local/bin/rake refresh_events RAILS_ENV=production

you should use

bundle exec rake refresh_events RAILS_ENV=production

or better yet install your bundle with --binstubs:

bundle install --binstubs --without development test

then you will have bin/rake:

./bin/rake refresh_events RAILS_ENV=production
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文