gpt4 book ai didi

ruby-on-rails - 在子目录中部署Rails 4.1到Heroku?

转载 作者:行者123 更新时间:2023-12-03 17:50:13 25 4
gpt4 key购买 nike

我有一个类似以下的目录结构:

my-app/
.git/
db/ <-- Database stuff
lib/ <-- Business logic
spec/
web/ <-- Rails

Rails在存储库的 web/子目录中。 Heroku默认情况下不喜欢这样。

我有一个 partially working heroku buildpack。在运行任何任务之前,它基本上会调用 Dir.chdir更改为 APP_SUBDIR环境变量(如果存在)。

我想部署到Heroku,但无法使 Assets 管道任务正常工作。当需要进行预编译 Assets 时,定制的buildpack将更改为 web/目录,并尝试运行任务。

但是, I get this error具有以下重要位置:
Could not detect rake tasks
ensure you can run `$ bundle exec rake -P` against your app with no environment variables present
and using the production group of your Gemfile.
Your Ruby version is 1.9.2, but your Gemfile specified 2.0.0 (Bundler::RubyVersionMismatch)

奇怪的是,Heroku清楚地说我在同一个Pastie中运行2.0。实际上,当我运行时:
$ heroku run 'cd web; bundle exec rake -P'

它工作正常。

TL; DR(摘要)

Heroku认为我的 ruby 版本实际上是 1.9.2 shown in its own build process时是 2.0.0。为什么会这样呢?

最佳答案

您只能将 Rails 应用所在的子目录推送到 Heroku:

git subtree push --prefix web heroku master

其中 web 是子目录。

关于ruby-on-rails - 在子目录中部署Rails 4.1到Heroku?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23601092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com