首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >夏普软件包Heroku部署问题

夏普软件包Heroku部署问题
EN

Stack Overflow用户
提问于 2019-03-29 09:29:54
回答 2查看 3K关注 0票数 7

我正在把我的NodeJs应用程序部署到Heroku。在本地运行该应用程序没有任何问题。

然而,当我试图推到Heroku时,似乎"锐利“包引起了一个问题:

远程:->安装依赖关系远程:安装节点模块(package.json + package-lock)远程:>package.json@0.22.0安装https://github.com/lovell/sharp-libvips/releases/download/v8.7.4/libvips-8.7.4-linux-x64.tar.gz远程:>(节点安装/libvips&节点安装/dll && prebuild)\ 遥控器: /tmp/build_4cfeda2379ea362c72ac083b57638cce/node_modules/sharp/install/libvips.js:86 remote:引发新错误(Status ${response.statusCode});远程:^ remote: States403Remote: at /tmp/build_4cfeda2379ea362c72ac083b57638cce/node_modules/sharp/install/libvips.js:86:17 远程:在f (/tmp/build_4cfeda2379ea362c72ac083b57638cce/node_modules/once/once.js:25:25) 远程:在(/tmp/build_4cfeda2379ea362c72ac083b57638cce/node_modules/simple-get/index.js:63:5) ClientRequest.protocol.request.res 远程: at Object.onceWrapper (events.js:277:13)远程: at ClientRequest.emit (events.js:189:13) remote: at HTTPParser.parserOnIncomingClient as onIncoming remote: at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17) remote: at TLSSocket.socketOnData (_http_client.js:442:20) 远程: at TLSSocket.emit (events.js:189:13) remote: at addChunk (_stream_readable.js:284:12) remote: make:输入目录events.js:189:13 远程:触摸发布/obj.Target/libvips-cpp.STAMP远程:CXX(目标)发布/obj.Target/sharp/src/Common.o远程:../src/common.cc:25:10:致命错误:vips/vips 8:没有这样的文件或目录远程:#包括远程:^~远程:编译终止。远程: remote:'/tmp/build_4cfeda2379ea362c72ac083b57638cce/node_modules/sharp/build‘:sharp.target.mk:128: sharp.target.mk:128:sharp.target.mk:128//src/Common.o错误1 remote: make:#en0#目录

更新:

尝试从package.json中删除sharp并使用npm重新添加它,这次安装锐利工程.我还是不知道为什么。

远程:->安装依赖关系远程:安装节点模块(package.json + package-lock)远程:>package.json@0.22.0安装https://github.com/lovell/sharp-libvips/releases/download/v8.7.4/libvips-8.7.4-linux-x64.tar.gz远程:>(节点安装/libvips&节点安装/dll && prebuild)\ remote:从92个贡献者中添加了57个包,在10.683 s远程中审计了20393个包:发现了62个低严重漏洞remote:运行npm audit fix修复它们,或运行npm audit获取远程信息:->构建远程:->缓存生成远程:- node_modules远程: remote:找到0个远程漏洞:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-08 01:36:01

有很多人都有这个问题,这与libvips有关,因为依赖本身并不尖锐。

这个问题-评论中的github上,解释了以下问题:

预构建的夏普二进制文件只能保证与预先构建的libvips二进制文件一起工作。 如果预先构建的libvips二进制文件的下载失败,那么夏普就不得不回到试图从源代码构建自己的位置。 http://sharp.pixelplumbing.com/en/stable/install/#pre-compiled-libvips-binaries提供了有关从本地URL为libvips二进制文件提供服务的信息。

下载失败的原因可能是缓存或损坏的下载,如上述github链接问题中所报告的:

我不得不手动删除~/.npm/_libvips/libvips-8.7.0-linux-x64.tar.gz,然后再试一次。似乎被下载了一个损坏的文件。

这里有一个关于盖茨比问题的有趣的讨论,一个解决方案似乎还不存在,即使这个问题已经结束(在发表任何评论之前):https://github.com/gatsbyjs/gatsby/issues/1754

但是,如果由于某种原因,问题仅与下载有关,则可以在本地部署libvip,如手册中所解释的那样:

预编译libvips二进制文件 本模块将尝试在以下两种情况下下载预编译的libvip及其对Linux和Windows机器的依赖关系:

  • 如果满足最低版本的libvip全局安装 找不到要求;
  • 如果设置了SHARP_IGNORE_GLOBAL_LIBVIPS环境变量。

SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm安装锐利

如果您需要手动下载和检查这些文件,

您可以通过https://github.com/lovell/sharp-libvips/releases这样做。

如果希望从自己的位置安装这些文件,请将

sharp_dist_base_url npm配置选项,例如:

配置集sharp_dist_base_url "https://hostname/path/“npm安装锐利

或者设置SHARP_DIST_BASE_URL环境变量,例如

SHARP_DIST_BASE_URL="https://hostname/path/“npm安装锐利

使用https://hostname/path/libvips-x.y.z-platform.tar.gz

所以这是一个小背景,我知道这并不能被看作是解决方案的答案:/

票数 6
EN

Stack Overflow用户

发布于 2020-11-26 20:54:41

如果有人到达这里却没有找到答案--我的问题是我的项目使用的是旧节点版本(8.x)

解决方案将安装支持8.x - "sharp": "0.23.4"的最新版本sharp。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55414263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档