标签: buildpack

为什么Heroku无法检测Node.js buildpack?

我GIT克隆了的Node.js应用程序(在指定的版本package.json之中4.1.2,而我的本地机器存在的6.2.2),并试图与git在Heroku上推.但它没有构建并给出了这个错误:

无法检测到set buildpack https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz

现在我将buildpack设置为heroku/nodejs并收到以下消息:

Buildpack set. Next release on lit-badlands-92088 will use heroku/nodejs.
Run git push heroku master to create a new release using this buildpack.
Run Code Online (Sandbox Code Playgroud)

现在,当我跑步时git push heroku master,我再次被告知:

remote: -----> Failed to detect set buildpack
        https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/nodejs.tgz  

remote: More info: 
https://devcenter.heroku.com/articles/buildpacks#detection-failure  

remote:  
remote:  !     Push failed  
remote: Verifying deploy...  
remote:  
remote: !       Push rejected to lit-badlands-92088.
Run Code Online (Sandbox Code Playgroud)

即使我设置了Node.js buildpack也未被检测到的可能原因是什么?

git heroku git-clone node.js buildpack

26
推荐指数
3
解决办法
2万
查看次数

如何刷新Heroku buildpack CACHE_DIR?

在我们的Python/Django应用程序的开发过程中,我们不小心在requirements.txt中引入了安装库的冲突版本的包需求.Heroku已经缓存了python buildpack指定的CACHE_DIR中的破坏需求,正如他们的buildpack API信息页面上所记录的那样,似乎对requirements.txt文件的任何修改都不能清除已损坏软件包的缓存.我们如何强制Heroku完全清空CACHE_DIR并从头开始重新安装所有需求和依赖项?

python heroku buildpack

21
推荐指数
2
解决办法
3710
查看次数

安装自定义构建heroku并使用库路径发出问题

我正在尝试在heroku上安装自定义构建,所以我使用各种方法尝试使用buildpacks进行第三方安装.在我的.buildpacks文件中,我有:

https://github.com/ddollar/heroku-buildpack-apt
https://github.com/heroku/heroku-buildpack-python.git
Run Code Online (Sandbox Code Playgroud)

在我的Aptfile我有以下内容:libgeoip-dev这是geoip的先决条件,与requirements.txt(GeoIP==1.3.2)一起安装

这是我的环境变量:

remote: C_INCLUDE_PATH is /app/.heroku/vendor/include:/app/.heroku/vendor/include:/app/.heroku/python/include
remote: CPATH is /tmp/build_xxxxx/.apt/usr/include:
remote: LD_LIBRARY_PATH is /app/.heroku/vendor/lib:/app/.heroku/vendor/lib:/app/.heroku/python/lib
Run Code Online (Sandbox Code Playgroud)

我得到的错误消息是:

remote:        building 'GeoIP' extension
remote:        creating build
remote:        creating build/temp.linux-x86_64-2.7
remote:        gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/app/.heroku/python/include/python2.7 -c py_GeoIP.c -o build/temp.linux-x86_64-2.7/py_GeoIP.o -fno-strict-aliasing
remote:        creating build/lib.linux-x86_64-2.7
remote:        gcc -pthread -shared build/temp.linux-x86_64-2.7/py_GeoIP.o -lGeoIP -o build/lib.linux-x86_64-2.7/GeoIP.so
remote:        /usr/bin/ld: cannot find -lGeoIP
remote:        collect2: error: ld returned 1 exit status
remote: …
Run Code Online (Sandbox Code Playgroud)

python heroku geoip buildpack

19
推荐指数
1
解决办法
971
查看次数

Heroku:使用Watir/Selenium时无法连接到chromedriver 127.0.0.1:9515

它在本地运行(未指定driver_path),但不在Heroku上运行.

码:

Selenium::WebDriver::Chrome.driver_path = ENV['GOOGLE_CHROME_SHIM']
browser = Watir::Browser.new :chrome
Run Code Online (Sandbox Code Playgroud)

我在heroku rails控制台中确认了以下值

ENV['GOOGLE_CHROME_BIN'] => "/app/.apt/opt/google/chrome/chrome"
ENV['GOOGLE_CHROME_SHIM'] => "/app/.apt/usr/bin/google-chrome-stable"
Run Code Online (Sandbox Code Playgroud)

已安装的Buildpacks:

https://github.com/heroku/heroku-buildpack-chromedriver
https://github.com/heroku/heroku-buildpack-google-chrome
Run Code Online (Sandbox Code Playgroud)

当前错误:

Selenium :: WebDriver :: Error :: WebDriverError:无法连接到chromedriver 127.0.0.1:9515

搜索unable to connect to chromedriver 127.0.0.1:9515SO返回一堆结果,但没有提到heroku.


也:

我考虑过phantomjs.其他人在这里工作, 使用带有Heroku Rails Unicorn堆栈的无头浏览器

但它被弃用了.在本地运行时出现以下错误.

不赞成使用PhantomJS的Selenium支持.请改用无头Chrome/Firefox或HTMLUnit.


也试过:

为了透明,我也尝试了以下内容.

更改 browser = Watir::Browser.new :chrome

browser = Watir::Browser.new :chrome, headless: true

虽然我没想到这会起作用.


还试过:

删除: https://github.com/heroku/heroku-buildpack-chromedriver

添加: https://github.com/heroku/heroku-buildpack-xvfb-google-chrome.

添加headless宝石.

并运行watirgem页面中给出的以下脚本,http://watir.com/guides/headless/.

require 'watir'
require 'headless'
headless …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku watir selenium-chromedriver buildpack

14
推荐指数
1
解决办法
2115
查看次数

Spring Boot 2.3.0 buildpack 构建镜像,创建日期为 40 年前

我尝试在运行 Spring Boot 2.3.0 的 maven 项目中使用 buildpack:

mvn spring-boot:build-image
Run Code Online (Sandbox Code Playgroud)

图像创建得很好,但我看到了以下信息:

REPOSITORY                                    TAG                     IMAGE ID            CREATED             SIZE
gcr.io/paketo-buildpacks/builder              base-platform-api-0.3   daceb4f909b7        40 years ago        690MB
myimage                                       master                  a482a4a34379        40 years ago        285MB
Run Code Online (Sandbox Code Playgroud)

为什么说图像(连同构建器)是 40 年前创建的?

java maven buildpack spring-boot

14
推荐指数
2
解决办法
1241
查看次数

Heroku和slug大小膨胀

我开始用我的Heroku应用程序撞墙了.

我很清楚slug大小,re:图像,PDF和其他材料的正常问题,但我的问题可能围绕着由凉亭或可能构建包带来的其他资产.

https://devcenter.heroku.com/articles/slug-compiler 多次部署后的Heroku Slug大小

我的Heroku compliled slug看起来像这样:

$ du -h --max-depth=1

4.0K    ./.bower-tmp
30M ./tmp
24K ./features
236K    ./config
195M    ./public
4.0K    ./log
34M ./bin
792K    ./db
355M    ./vendor
8.0K    ./.heroku
22M ./app
64K ./lib
8.0K    ./.bundle
136K    ./.bower-registry
22M ./.bower-cache
24M ./node_modules
12K ./.profile.d
Run Code Online (Sandbox Code Playgroud)

到目前为止,最大的是供应商(355M),但我的本地供应商文件夹实际上是空的,因为是公共的(195M).

但是在heroku上它看起来像:

40M vendor/ruby-2.0.0
21M vendor/node
32K vendor/heroku
12K vendor/assets
103M vendor/jvm
192M vendor/bundle

195M public/assets (bower bloat?)
Run Code Online (Sandbox Code Playgroud)

我猜这是用于凉亭和PDF生成的几个构建包之一.

https://github.com/heroku/heroku-buildpack-nodejs
https://github.com/heroku/heroku-buildpack-ruby
https://github.com/razorfly/wkhtmltopdf-buildpack
Run Code Online (Sandbox Code Playgroud)

我的应用程序本身看起来很瘦22M,但我现在的heroku SLUG是298.4MB!du如果我不使用这些构建包,而是在构建之间迁移到本地计算机上的资产编译,那么单独的供应商目录就不止于此了?我不确定一个好的部署策略(/ slug饮食)应该是什么样的,任何想法都会受到高度赞赏.

更新:

我也试过从我读过的其他人那里重建那个slug,但是没有效果.编译后的团块大小保持不变.

heroku plugins:install https://github.com/heroku/heroku-repo.git
heroku repo:rebuild …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku buildpack bower ruby-on-rails-4

11
推荐指数
1
解决办法
489
查看次数

Heroku 上的 Puppeteer 错误:找不到 Chromium

我对部署/托管 Node 应用程序和 Puppeteer 不太熟悉。

\n

但是,当我尝试使用 Puppeteer 时,我在 Heroku 上的应用程序遇到了问题。

\n

完整的错误是:

\n
\nError: Could not find Chromium (rev. 1056772). This can occur if either\n\n2022-11-10T06:44:07.938983+00:00 app[web.1]:  1. you did not perform an installation before running the script (e.g. `npm install`) or\n\n2022-11-10T06:44:07.938983+00:00 app[web.1]:  2. your cache path is incorrectly configured (which is: /app/.cache/puppeteer).\n\n2022-11-10T06:44:07.938983+00:00 app[web.1]: For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.\n\n2022-11-10T06:44:07.938984+00:00 app[web.1]:     at ChromeLauncher.resolveExecutablePath (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js:120:27)\n\n2022-11-10T06:44:07.938984+00:00 app[web.1]:     at ChromeLauncher.executablePath (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js:166:25)\n\n2022-11-10T06:44:07.938985+00:00 app[web.1]:     at PuppeteerNode.executablePath (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js:162:105)\n\n2022-11-10T06:44:07.938985+00:00 app[web.1]:     at Object.<anonymous> …
Run Code Online (Sandbox Code Playgroud)

javascript heroku node.js buildpack puppeteer

11
推荐指数
1
解决办法
8620
查看次数

如何使用Deis(PaaS)设置和部署数据库

我正在尝试使用Deis设置数据库.我知道这是可能的,但似乎没有任何关于如何设置ENV变量的文档.我如何设置说MongoDB或Cassandra docker容器然后部署它并让我的deis应用程序使用它?

heroku buildpack docker deis

10
推荐指数
1
解决办法
4003
查看次数

缓存 Cloud Native Buildpacks/Paketo.io pack CLI 在 GitHub Actions 上构建(例如使用 Spring Boot/Java/Maven buildpacks)?

我正在开发一个 Spring Boot 应用程序,应使用 Cloud Native Build Packs / Paketo.io 将其打包到 OCI 容器中。我使用 GitHub Actions 构建它,我的工作流程build.yml如下所示:

name: build

on: [push]

jobs:
  build-with-paketo-push-2-dockerhub:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Login to DockerHub Container Registry
        run: echo $DOCKER_HUB_TOKEN | docker login -u jonashackt --password-stdin
        env:
          DOCKER_HUB_TOKEN: ${{ secrets.DOCKER_HUB_TOKEN }}

      - name: Install pack CLI via apt. See https://buildpacks.io/docs/tools/pack/#pack-cli
        run: |
          sudo add-apt-repository ppa:cncf-buildpacks/pack-cli
          sudo apt-get update
          sudo apt-get install pack-cli

      - name: Build app with pack …
Run Code Online (Sandbox Code Playgroud)

buildpack docker spring-boot github-actions paketo

10
推荐指数
1
解决办法
1319
查看次数

在部署heroku-buildpack-nodejs和heroku-buildpack-ruby-minimal时"推送拒绝,无法编译Multipack应用程序"

我正在使用heroku-buildpack-multi:

BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用两个buildpacks进行部署,并收到以下错误:

Fetching repository, done.
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 325 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)

-----> Fetching custom git buildpack... done
-----> Multipack app detected
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git

 !     Push rejected, failed to compile Multipack app
Run Code Online (Sandbox Code Playgroud)

这是我的.buildpack的内容

https://github.com/heroku/heroku-buildpack-nodejs.git
https://github.com/dpiddy/heroku-buildpack-ruby-minimal.git
Run Code Online (Sandbox Code Playgroud)

它曾经是间歇性的,但现在每次我尝试部署时都会发生.

奇怪的是,官方的heroku ruby​​项目似乎已经失踪了...... https://github.com/heroku/heroku-buildpack-ruby

请注意,它仍然在此页面上:https://github.com/heroku

deployment heroku buildpack

9
推荐指数
1
解决办法
2289
查看次数