由于依赖于在我们的Git存储库中运行的本地构建,我们的Heroku部署中存在一些问题。正如我所知道的那样,在Heroku中不允许这样做 - 部署将在某种不是Git仓库的临时目录结构中运行。
在其他情况下,我重构了我们的部署代码(主要使用Gulp)来使用Heroku config var SOURCE_VERSION
来获取Git ref。
目前,我们在安装npm库shared-git-hooks时遇到问题,该库位于我们的devDependencies中。这个包的npm安装似乎以某种方式调用Git,Heroku不支持。部署失败,我在下面粘贴了错误。
除了从我们的依赖项中删除此包之外,还有什么方法可以解决这个问题吗?
Installing node modules (package.json)
> shared-git-hooks@1.2.1 install /tmp/build_c13ca0c7e4a74d/PROJECT_NAME-57a29d388e0/node_modules/shared-git-hooks
> node index.js
Symlinking shared-git-hooks runner in .git/hooks
fatal: Not a git repository (or any parent up to mount point /tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
child_process.js:526
throw err;
^
Error: Command failed: git rev-parse --git-dir
fatal: Not a git repository (or any parent up to mount point /tmp)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
at checkExecSyncError (child_process.js:483:13)