Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Heroku上部署Git LFS?_Node.js_Github_Heroku_Git Lfs - Fatal编程技术网

Node.js 如何在Heroku上部署Git LFS?

Node.js 如何在Heroku上部署Git LFS?,node.js,github,heroku,git-lfs,Node.js,Github,Heroku,Git Lfs,我已经在Node.js上完成了一个项目,这个项目已经推到GitHub上,这个项目有一个大于100MB的视频,需要Git LFS。Git LFS成功地推送到GitHub,没有任何问题 这个项目的第二阶段是在Heroku举办,这就是我被卡住的地方。我尝试了两种方法: heroku buildpacks:add https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git 及 当使用 git push heroku master --no

我已经在Node.js上完成了一个项目,这个项目已经推到GitHub上,这个项目有一个大于100MB的视频,需要Git LFS。Git LFS成功地推送到GitHub,没有任何问题

这个项目的第二阶段是在Heroku举办,这就是我被卡住的地方。我尝试了两种方法:

heroku buildpacks:add https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git

当使用

git push heroku master --no-verify
我得到以下错误:

remote: -----> Git LFS app detected
remote: Env var BL_BUILDPACK_GIT_LFS_REPO is not set
remote:  !     Push rejected, failed to compile Git LFS app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to intense-journey-80070.
remote: 
To https://git.heroku.com/intense-journey-89070.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/intense-journey-89070.git'
我怎样才能做到这一点呢

heroku buildpacks:add(heroku提供的应用程序名称)/heroku buildpack git lfs
但是你不应该在这里使用你的应用程序名。我猜你想用?在这种情况下,你真的应该这样做

heroku构建包:添加https://github.com/BureauxLocaux/heroku-buildpack-git-lfs.git 您还会收到一条错误消息,上面说

Env var BL\u BUILDPACK\u GIT\u LFS\u REPO未设置
buildpack还需要一些额外的配置,如Heroku上的buildpack页面所述,您似乎没有这样做:

为应用程序设置以下环境变量:

  • BL\u BUILDPACK\u GIT\u LFS\u REPO
    到要从中下载GIT LFS资产的存储库的克隆URL。这应包括非交互式克隆所需的任何用户名、密码或个人访问令牌。有关语法的详细信息,请参见。它必须类似于
    git@github.com:BureauxLocaux/my repo
  • BL\u BUILDPACK\u GIT\u LFS\u SSH\u PRIVATE\u KEY
    :您的私钥使用
    base64-w 0在base64中编码。您可以使用
    heroku config:set--app-prepod-bureauxlocaux“BL\u BUILDPACK\u GIT\u LFS\u SSH\u PRIVATE\u KEY=$(cat~/.SSH/heroku\u deploy\u LFS | base64-w 0)”
    进行设置

私有SSH密钥应该受到近乎偏执的保护,因此请确保使用仅用于部署此存储库的专用SSH密钥。尽可能为部署密钥提供最低级别的权限。

Heroku不支持链接到大型文件系统(LFS)的文件

因此,您需要移动到heroku上的设置,以将配置变量添加为键“heroku\u BUILDPACK\u GIT\u LFS\u REPO”的值“https://github.com//repository.GIT”令牌是唯一的个人访问令牌。 您需要在GitHub>设置>开发者设置中注册,以便Heroku访问您的LFS文件,并在构建包中链接以安装LFS“https://github.com/raxod502/heroku-buildpack-git-lfs.git“


最后,点击deploy(部署)部分的deploy(部署)按钮,您的项目就完成了,可供通过internet访问的用户使用。

基本上,您只需按照本文中的说明操作即可。我需要说的是,当您注册GitHub应用程序时,您需要填写的“Webhook URL”和“Homepage URL”都是您使用heroku创建的URL(示例格式:https://.herokuapp.com).

嗨,克里斯,谢谢你的回复。我试过了,但还是出现了同样的错误。还跟踪了heroku网站上的内容。还是不走运。此外,还对问题进行了编辑,使其更加清晰。“请耐心听我说,我是新来的。”冉说,这条信息应该比“预接收”更多。请编辑您的问题并添加之前的内容。另外,您试图通过LFS注入多大的负载?我已经更新了问题中的错误消息,负载是287MB的图像和一个187MB的大视频,尤其是视频。@Ran,您还没有配置构建包。我更新了我的答案,但请记住阅读您正在使用的工具的文档。这就在自述中。(我回答的第一部分仍然是相关的。添加一个URL指向您正在修改的应用程序的构建包没有意义。)
remote: -----> Git LFS app detected
remote: Env var BL_BUILDPACK_GIT_LFS_REPO is not set
remote:  !     Push rejected, failed to compile Git LFS app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to intense-journey-80070.
remote: 
To https://git.heroku.com/intense-journey-89070.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/intense-journey-89070.git'