我试图使用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。回答仅供将来参考。