我已经将一个Rails 3.2应用程序部署到heroku几周了。我还在我的应用程序所在的Cedar堆栈上执行rake
任务。
部署后一天,我发现rake
已不再有效。例如,我得到以下内容:
$:~/dev/my_project$ heroku run rake -T
Running `rake -T` attached to terminal... up, run.7566
bundler: command not found: rake
Install missing gem executables with `bundle install`
尝试使用bundle exec
运行命令会产生相同的结果。
我尝试了什么:
heroku run bundle install
。这有效并告知我宝石已安装到./vendor/bundle
中。但是,heroku run ls ./vendor/bundle
仅产生以下内容:
$:~/dev/my_project$ heroku run ls ./vendor/bundle/
Running
ls ./vendor/bundle / attached to terminal... up, run.3458
bin ruby
bundle package
。虽然部署工作但它对我的问题没有帮助。
摆弄rubygems-bundler宝石(虽然我认为这是核心捆绑器的一部分)。这似乎没有任何影响。
答案 0 :(得分:1)
在Heroku上,宝石安装在vendor/bundle/ruby/<version>/gems
目录中。我刚检查了我的Heroku实例并证实了这一点。
答案 1 :(得分:0)
您将要使用bundle exec rake task
,因为宝石不在用户路径中。