我正在尝试部署我的站点,但收到此错误:
2:49:12 PM: Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules
2:49:12 PM: Failing build: Failed to prepare repo
2:49:12 PM: failed during stage 'preparing repo': Error checking out submodules: fatal: No url found for submodule path 'startbootstrap-grayscale' in .gitmodules
一切都已提交并推送到我的回购,我认为没有任何遗漏。关于可能出现什么问题的任何线索?
编辑
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://github.com/BlackrockDigital/startbootstrap-grayscale.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
编辑 2
usage: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
or: git submodule [--quiet] init [--] [<path>...]
or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--] [<path>...]
or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
or: git submodule [--quiet] foreach [--recursive] <command>
or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
or: git submodule [--quiet] absorbgitdirs [--] [<path>...]
看起来您的存储库使用子模块。使用子模块时,存储库根目录中的.gitmodules
文件中应有一个该路径的条目,并且该文件中应有一个 URL 条目。如果缺少文件或正确的 URL 条目,则在执行克隆时将无法签出子模块,因为 Git 不知道其他存储库的位置。
作为参考,.gitmodules
文件应如下所示:
[submodule "vim-fugitive"]
path = vim/bundle/vim-fugitive
url = https://github.com/tpope/vim-fugitive.git
[submodule "ctrlp"]
path = vim/bundle/ctrlp
url = https://github.com/kien/ctrlp.vim.git
path
组件是存储库中的路径,url
组件是下载它的位置。
有关子模块配置选项的更多详细信息,请参阅git-config(1)
手册页。
这个问题很久以前就被问过了。 以防万一可能会有所帮助。Netlify在社区支持帖子中描述了此错误的原因,他们所说的底线是"如果您有私有子模块,则需要授予我们的构建系统访问您的私有子模块的权限">
根据Netlify对解决方案的描述,我做了以下工作:
- 我从 Netlify 上的项目设置创建了一个部署密钥,并将其添加到子模块的设置在"部署密钥"下。
- 推送到在Netlify上启动构建的github后,我遇到了与问题中所述相同的错误。
- 我在
.gitmodules
中将https://github.com/user/repo
更改为git@github.com:user/repo
,然后我再次推动,构建和演示工作得很好。
你用"heroku logs --tail"得到什么?我假设您删除了应用程序并重新部署?