我多次看到有关在 rake(任务)文件中执行 bash 文件的问题。
我的问题是,如何在 bash 文件中执行 rake 命令?
我在服务器上的每个 Rails 应用程序中都有一个 migrate.sh
文件,我使用的是通用的 publish.sh
。所有这些都运行正常。
然后,我在每个 migrate.sh
中有一个像 rake tmp:clear assets:clean log:clear RAILS_ENV=production
这样的命令,它给我一个 rake : 找不到命令
错误。
帮忙吗?
最佳答案
基本上 rake
没有解析,因为 PATH
变量不正确。您可以尝试执行 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
关于ruby-on-rails - 在 bash 中执行 rake 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20993814/