在没有 GitHub fetch 的情况下为 Nextjs 安装sharp:错误:找不到模块“sharp”

问题描述

我正在尝试在我的公司系统上使用 Next.js,但是每当我运行“npm run build”时,构建都会失败并显示以下消息:Error: Cannot find module 'sharp'

我尝试安装Sharp,但出现此错误

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.5/libvips-8.10.5-win32-x64.tar.br 
ERR! sharp getaddrinfo ENOTFOUND github.com 
info sharp Attempting to build from source via node-gyp but this may fail due to the above error
info sharp Please see https://sharp.pixelplumbing.com/install for required dependencies

这可能是因为出于安全原因,我的系统终端上阻止了 github URL。有没有办法在不从github中获取的情况下安装sharp?我可以在浏览器上访问 GitHub,所以如果从那里下载文件然后以某种方式安装它是可能的,我可以这样做。

操作系统:Windows 10

解决方法

更新NextJS v10.0.8 修复了 this issue!如果您遇到上述错误:升级到 10.0.8(或更高版本)。

NextJS sharp 引入的必需的 10.0.5 依赖已经破坏了依赖于底层 libvips 的构建,这在各种 Linux 发行版中都没有。他们正在努力使依赖项成为可选的。相关公关 herehere。相关问题 here。这可能比尝试在您的机器上安装或编译 libvips 更容易(我根本无法让它在我的基于 Amazon EC2 ARM 的机器上运行)。在此期间,您可以降级到 NextJS 10.0.3。我想他们很快就会修复它。

,

我有同样的错误。它发生在我身上,因为我有 Apple M1 Mac。我解决了安装 Homebrew 的错误,之后,我不得不使用 Brew install vips 安装“lipvips”。然后,在我的项目中,npm install sharp,最后,我运行 npm run build,它对我来说运行良好。我希望它对你有用!

,

我在 mac m1 上遇到了同样的问题。我将节点版本降级到 14,现在它可以工作了

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...