问题描述
我正在尝试在我的公司系统上使用 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 发行版中都没有。他们正在努力使依赖项成为可选的。相关公关 here 和 here。相关问题 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,现在它可以工作了