解决方案是:
概括
git init
首先在 Heroku 控制台中尝试(第 5 步和第 6 步),可能git
已经安装了。如果不:
- 安装此构建包
- 将 a 添加
Aptfile (txt)
到根,类似于 aProcfile
- 将最新的
git
源 URL添加到Aptfile
- 部署
heroku run rails c
`git init`
在控制台中
更详细
- Heroku 将我引导到这个buildpack。易于安装。但最初给了我这个错误,没有太多解释:
remote: -----> App not compatible with buildpack: https://github.com/heroku/heroku-buildpack-apt.git
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
这是因为我还没有添加Aptfile
,所以在部署之前这样做,因为没有它就无法工作。AnAptfile
只是您应用程序txt file
的根目录中的a,例如. 一个空的和成功的部署。现在我们必须添加.rails
Procfile
Aptfile
git
通过git
找到最新版本并从此文件夹复制链接并将其添加到您的Aptfile
. 我的Aptfile
样子是这样的:
https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.25.0.tar.gz
部署,一切都应该正常工作。
跑heroku run rails c
再次尝试下面的代码,你会发现你得到了一个类似的错误:
`git diff $(echo "hi" | git hash-object -w --stdin) $(echo "hello" | git hash-object -w --stdin) --word-diff`
=> fatal: not a git repository (or any parent up to mount point /)
=> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
=> fatal: not a git repository (or any parent up to mount point /)
=> Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
=> Not a git repository
=> To compare two paths outside a working tree:
=> usage: git diff [--no-index] <path> <path>
- 但是我们现在已经
git
安装了,所以只需创建一个 repo:
`git init`
=> "Initialized empty Git repository in /app/.git/\n"
- 成功:
`git diff $(echo "hi" | git hash-object -w --stdin) $(echo "hello" | git hash-object -w --stdin) --word-diff`
=> "diff --git a/45b983be36b73c0788dc9cbcb76cbb80fc7bb057 b/ce013625030ba8dba906f756967f9e9ca394464a\nindex 45b983b..ce01362 100644\n--- a/45b983be36b73c0788dc9cbcb76cbb80fc7bb057\n+++ b/ce013625030ba8dba906f756967f9e9ca394464a\n@@ -1 +1 @@\n[-hi-]{+hello+}\n"
希望这对其他人有帮助。