繁体   English   中英

在bash中执行rake命令

[英]Execute rake command inside bash

我多次看到有关在rake(任务)文件中执行bash文件的问题。

我的问题是,如何在bash文件中执行rake命令? 我在服务器上的每个Rails应用程序中都有一个migrate.sh文件,并且使用的是常规publish.sh 所有这些运行正常。

然后,我在每个migrate.sh中有一个类似rake tmp:clear assets:clean log:clear RAILS_ENV=production rake: command not found ,这给了我rake: command not found错误。

救命?

基本上,由于PATH变量不正确,因此无法解决rake 您可以尝试执行echo $PATH 您还可以创建一个bash脚本并提供rake所需的一些环境变量,如下所示:

#!/bin/bash

GEM_HOME=/home/tuxdna/.gems
SHELL=/bin/bash
USER=tuxdna
PATH=/home/tuxdna/.gems/bin:/usr/lib/ruby/gems/1.8/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
GEM_PATH=/home/tuxdna/.gems:/usr/lib/ruby/gems/1.8

cd ~/somesite
export RAILS_ENV=production
bundle exec rake mytask:task1

klashxx的假设是正确的。 这是一个权限/配置文件问题。 我已将用户更改为root才能执行其他先前的任务,但发现我的root无法运行rake任务。

不过,这在生产服务器上将不是问题。

谢谢klashxx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM