错误:找不到模块'./build/Release/sharp'



我试图使用Sharp运行一些NodeJS代码,但我得到了以下错误:

    [root@localhost myapp-backend]# node server.js 
module.js:340
    throw err;
    ^
Error: Cannot find module './build/Release/sharp'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/root/myapp-backend/node_modules/sharp/index.js:11:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/root/myapp-backend/server.js:277:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:935:3

有什么想法吗?

谢谢。

原来我使用的Debian 8.x发行版不包括vip,但我没有收到错误消息。运行

apt-get install libvips

然后是

npm install sharp

解决了问题,夏普终于安装并工作了。

这可能是由于Sharp没有安装。当我通过安装时npm,没有错误,但当我进入node_modules/sharp时,有三个没有构建文件。

您可以尝试通过执行
来构建它node-gyp rebuild

但是,在此之前,请确保安装了Vips——这是夏普使用的库。在Mac上你会做
brew install homebrew/science/vips --with-webp --with-graphicsmagick

在你建造了夏普图书馆之后,你应该可以去了。

检查node_modules/sharp上是否没有构建文件夹,然后运行:

npm i sharp

它将重新安装并构建sharp。(为我工作)

我在s3图像裁剪的Lambda函数中得到了同样的错误。

我安装了如下所示的sharp模块,并且能够使用Node.js 14.x版本裁剪图像。

npm install --platform=linux --arch=x64 sharp

请检查CCD_ 5文件夹中的";sharp-linux-x64.node";

在我为node.js的特定目标版本安装sharp的情况下,我使用了以下命令,但在此之前,请删除现有的node_modules文件夹或删除rm -rf node_modules/sharp

npm install --arch=x64 --platform=linux --target=16x sharp

对我有效的是更新到最新的Node 13,而不是apt-get默认提供的Node 8。回答仅供将来参考。

最新更新