sharp-libvips VS sharp

Compare sharp-libvips vs sharp and see what are their differences.

sharp-libvips

Packaging scripts to prebuild libvips and its dependencies - you're probably looking for https://github.com/lovell/sharp (by lovell)

sharp

High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library. (by lovell)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
sharp-libvips sharp
3 97
166 27,987
- -
8.5 9.4
5 days ago 3 days ago
Shell JavaScript
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sharp-libvips

Posts with mentions or reviews of sharp-libvips. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-27.
  • Install sharp without GitHub fetch for Nextjs: Error: Cannot find module 'sharp'
    1 project | /r/codehunter | 8 May 2022
    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 errorinfo sharp Please see https://sharp.pixelplumbing.com/install for required dependencies This is probably because github URLs are blocked on my system's terminal due to security reasons. Is there a way to install sharp without fetching from github? I can access GitHub on the browser, so if downloading the file from there and then installing it somehow is possible I can do that.
  • Deploying to Netlify
    2 projects | /r/gatsbyjs | 27 Jun 2021
    6:34:07 AM: Build ready to start 6:34:09 AM: build-image version: 2cee85eb7f808bf3b6e87378c5307f9411f0a332 6:34:09 AM: build-image tag: v3.8.0 6:34:09 AM: buildbot version: 7ed3dd8fac64067d9cac4a8ffcf331d1669e61a3 6:34:09 AM: Fetching cached dependencies 6:34:09 AM: Failed to fetch cache, continuing with build 6:34:09 AM: Starting to prepare the repo for build 6:34:09 AM: No cached dependencies found. Cloning fresh repo 6:34:09 AM: git clone https://github.com/beespirited/Turn-the-Tides 6:34:11 AM: Preparing Git Reference refs/heads/main 6:34:12 AM: Parsing package.json dependencies 6:34:13 AM: Starting build script 6:34:13 AM: Installing dependencies 6:34:13 AM: Python version set to 2.7 6:34:14 AM: v12.18.0 is already installed. 6:34:15 AM: Now using node v12.18.0 (npm v6.14.4) 6:34:15 AM: Started restoring cached build plugins 6:34:15 AM: Finished restoring cached build plugins 6:34:15 AM: Attempting ruby version 2.7.2, read from environment 6:34:16 AM: Using ruby version 2.7.2 6:34:16 AM: Using PHP version 5.6 6:34:16 AM: Started restoring cached node modules 6:34:16 AM: Finished restoring cached node modules 6:34:17 AM: Installing NPM modules using NPM version 6.14.4 6:34:58 AM: npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it! 6:34:58 AM: > [email protected] install /opt/build/repo/node_modules/sharp 6:34:58 AM: > (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy) 6:35:00 AM: sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.6/libvips-8.10.6-linux-x64.tar.br 6:35:02 AM: > [email protected] postinstall /opt/build/repo/node_modules/babel-runtime/node_modules/core-js 6:35:02 AM: > node -e "try{require('./postinstall')}catch(e){}" 6:35:02 AM: > [email protected] postinstall /opt/build/repo/node_modules/core-js 6:35:02 AM: > node -e "try{require('./postinstall')}catch(e){}" 6:35:02 AM: > [email protected] postinstall /opt/build/repo/node_modules/core-js-pure 6:35:02 AM: > node -e "try{require('./postinstall')}catch(e){}" 6:35:03 AM: > [email protected] postinstall /opt/build/repo/node_modules/gatsby-telemetry 6:35:03 AM: > node src/postinstall.js || true 6:35:03 AM: > [email protected] postinstall /opt/build/repo/node_modules/mozjpeg 6:35:03 AM: > node lib/install.js 6:35:04 AM: ✔ mozjpeg pre-build test passed successfully 6:35:04 AM: > [email protected] postinstall /opt/build/repo/node_modules/pngquant-bin 6:35:04 AM: > node lib/install.js 6:35:04 AM: ✔ pngquant pre-build test passed successfully 6:35:04 AM: > [email protected] postinstall /opt/build/repo/node_modules/gatsby-cli 6:35:04 AM: > node scripts/postinstall.js 6:35:04 AM: > [email protected] postinstall /opt/build/repo/node_modules/gatsby 6:35:04 AM: > node scripts/postinstall.js 6:35:06 AM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/webpack-dev-server/node_modules/fsevents): 6:35:06 AM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) 6:35:06 AM: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents): 6:35:06 AM: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) 6:35:06 AM: added 2208 packages from 1094 contributors and audited 2214 packages in 49.037s 6:35:08 AM: 232 packages are looking for funding 6:35:08 AM: run `npm fund` for details 6:35:08 AM: found 12 vulnerabilities (4 moderate, 8 high) 6:35:08 AM: run `npm audit fix` to fix them, or `npm audit` for details 6:35:08 AM: NPM modules installed 6:35:09 AM: Started restoring cached go cache 6:35:09 AM: Finished restoring cached go cache 6:35:09 AM: go version go1.14.4 linux/amd64 6:35:09 AM: go version go1.14.4 linux/amd64 6:35:09 AM: Installing missing commands 6:35:09 AM: Verify run directory 6:35:09 AM: ​ 6:35:09 AM: ──────────────────────────────────────────────────────────────── 6:35:09 AM: Netlify Build 6:35:09 AM: ──────────────────────────────────────────────────────────────── 6:35:09 AM: ​ 6:35:09 AM: ❯ Version 6:35:09 AM: @netlify/build 12.10.0 6:35:09 AM: ​ 6:35:09 AM: ❯ Flags 6:35:09 AM: deployId: 60d95f4f99dd7ce911065b52 6:35:09 AM: ​ 6:35:09 AM: ❯ Current directory 6:35:09 AM: /opt/build/repo 6:35:09 AM: ​ 6:35:09 AM: ❯ Config file 6:35:09 AM: No config file was defined: using default values. 6:35:09 AM: ​ 6:35:09 AM: ❯ Context 6:35:09 AM: production 6:35:09 AM: ​ 6:35:09 AM: ──────────────────────────────────────────────────────────────── 6:35:09 AM: 1. Build command from Netlify app 6:35:09 AM: ──────────────────────────────────────────────────────────────── 6:35:09 AM: ​ 6:35:09 AM: $ npm run build 6:35:09 AM: > [email protected] build /opt/build/repo 6:35:09 AM: > gatsby build 6:35:12 AM: success open and validate gatsby-configs - 0.052s 6:35:13 AM: success load plugins - 0.905s 6:35:13 AM: success onPreInit - 0.050s 6:35:13 AM: success initialize cache - 0.006s 6:35:13 AM: success copy gatsby files - 0.057s 6:35:14 AM: success Compiling Gatsby Functions - 0.350s 6:35:14 AM: success onPreBootstrap - 0.369s 6:35:14 AM: success createSchemaCustomization - 0.005s 6:35:14 AM: success Checking for changed pages - 0.000s 6:35:14 AM: success source and transform nodes - 0.364s 6:35:15 AM: success building schema - 0.809s 6:35:15 AM: success createPages - 0.005s 6:35:15 AM: success createPagesStatefully - 0.119s 6:35:15 AM: info Total nodes: 168, SitePage nodes: 12 (use --verbose for breakdown) 6:35:15 AM: success Checking for changed pages - 0.000s 6:35:15 AM: success update schema - 0.149s 6:35:15 AM: success onPreExtractQueries - 0.000s 6:35:18 AM: success extract queries from components - 2.688s 6:35:19 AM: success write out redirect data - 1.032s 6:35:19 AM: warning The icon(src/images/logo-images/Turn_the_tides_logo.svg) you provided to 'gatsby-plugin-manifest' is not square. 6:35:19 AM: The icons we generate will be square and for the best results we recommend you provide a square icon. 6:35:29 AM: success Build manifest and related icons - 9.786s 6:35:29 AM: success onPostBootstrap - 9.841s 6:35:29 AM: info bootstrap finished - 19.087s 6:35:29 AM: success run static queries - 0.010s - 1/1 100.64/s 6:35:47 AM: success run page queries - 17.926s - 12/12 0.67/s 6:35:47 AM: success write out requires - 0.007s 6:37:27 AM: failed Building production JavaScript and CSS bundles - 100.490s 6:37:27 AM: error Generating JavaScript bundles failed 6:37:27 AM: Can't resolve 'react-helmet' in '/opt/build/repo/src/components' 6:37:27 AM: If you're trying to use a package make sure that 'react-helmet' is installed. If you're trying to use a local file make sure that the path is correct. 6:37:27 AM: error Generating JavaScript bundles failed 6:37:27 AM: Can't resolve 'react-helmet' in '/opt/build/repo/src/components' 6:37:27 AM: If you're trying to use a package make sure that 'react-helmet' is installed. If you're trying to use a local file make sure that the path is correct. 6:37:33 AM: (sharp:1572): GLib-CRITICAL **: 05:37:33.112: g_hash_table_lookup: assertion 'hash_table != NULL' failed 6:37:33 AM: (sharp:1572): GLib-CRITICAL **: 05:37:33.112: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed 6:37:33 AM: (sharp:1572): GLib-CRITICAL **: 05:37:33.112: g_hash_table_lookup: assertion 'hash_table != NULL' failed 6:37:33 AM: Segmentation fault 6:37:33 AM: npm ERR! code ELIFECYCLE 6:37:33 AM: npm ERR! errno 139 6:37:33 AM: npm ERR! [email protected] build: `gatsby build` 6:37:33 AM: npm ERR! Exit status 139 6:37:33 AM: npm ERR! 6:37:33 AM: npm ERR! Failed at the [email protected] build script. 6:37:33 AM: npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 6:37:33 AM: npm ERR! A complete log of this run can be found in: 6:37:33 AM: npm ERR! /opt/buildhome/.npm/_logs/2021-06-28T05_37_33_288Z-debug.log 6:37:33 AM: ​ 6:37:33 AM: ──────────────────────────────────────────────────────────────── 6:37:33 AM: "build.command" failed 6:37:33 AM: ──────────────────────────────────────────────────────────────── 6:37:33 AM: ​ 6:37:33 AM: Error message 6:37:33 AM: Command failed with exit code 139: npm run build 6:37:33 AM: ​ 6:37:33 AM: Error location 6:37:33 AM: In Build command from Netlify app: 6:37:33 AM: npm run build 6:37:33 AM: ​ 6:37:33 AM: Resolved config 6:37:33 AM: build: 6:37:33 AM: command: npm run build 6:37:33 AM: commandOrigin: ui 6:37:33 AM: publish: /opt/build/repo/public 6:37:33 AM: publishOrigin: ui 6:37:33 AM: functions: 6:37:33 AM: '*': {} 6:37:33 AM: Caching artifacts 6:37:33 AM: Started saving node modules 6:37:33 AM: Finished saving node modules 6:37:33 AM: Started saving build plugins 6:37:33 AM: Finished saving build plugins 6:37:33 AM: Started saving pip cache 6:37:33 AM: Finished saving pip cache 6:37:33 AM: Started saving emacs cask dependencies 6:37:33 AM: Finished saving emacs cask dependencies 6:37:33 AM: Started saving maven dependencies 6:37:33 AM: Finished saving maven dependencies 6:37:33 AM: Started saving boot dependencies 6:37:33 AM: Finished saving boot dependencies 6:37:33 AM: Started saving rust rustup cache 6:37:33 AM: Finished saving rust rustup cache 6:37:33 AM: Started saving go dependencies 6:37:33 AM: Finished saving go dependencies 6:37:36 AM: Build failed due to a user error: Build script returned non-zero exit code: 2 6:37:36 AM: Creating deploy upload records 6:37:36 AM: Failing build: Failed to build site 6:37:36 AM: Failed during stage 'building site': Build script returned non-zero exit code: 2 6:37:36 AM: Finished processing build request in 3m27.064755572s
  • How to get next.js and vercel to work on M1 mac
    4 projects | dev.to | 21 Mar 2021
    warning Error running install script for optional dependency: "/***/blog/node_modules/sharp: Command failed. Exit code: 1 Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) Arguments: Directory: /***/blog/node_modules/sharp Output: info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.0/libvips-8.10.0-darwin-arm64v8.tar.br ERR! sharp Prebuilt libvips 8.10.0 binaries are not yet available for darwin-arm64v8 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 gyp info it worked if it ends with ok gyp info using [email protected] gyp info using [email protected] | darwin | arm64 gyp info find Python using Python version 3.9.1 found at \"/opt/homebrew/opt/[email protected]/bin/python3.9\" gyp info spawn /opt/homebrew/opt/[email protected]/bin/python3.9 gyp info spawn args [ gyp info spawn args '/opt/homebrew/Cellar/node/15.5.0/libexec/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/***/blog/node_modules/sharp/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/homebrew/Cellar/node/15.5.0/libexec/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/Users/***/Library/Caches/node-gyp/15.5.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/Users/***/Library/Caches/node-gyp/15.5.0', gyp info spawn args '-Dnode_gyp_dir=/opt/homebrew/Cellar/node/15.5.0/libexec/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/Users/***/Library/Caches/node-gyp/15.5.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/***/blog/node_modules/sharp', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] CC(target) Release/obj.target/nothing/../node-addon-api/nothing.o LIBTOOL-STATIC Release/nothing.a warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: archive library: Release/nothing.a the table of contents is empty (no object file members in the library define global symbols) TOUCH Release/obj.target/libvips-cpp.stamp CXX(target) Release/obj.target/sharp/src/common.o ../src/common.cc:24:10: fatal error: 'vips/vips8' file not found #include ^~~~~~~~~~~~ 1 error generated. make: *** [Release/obj.target/sharp/src/common.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/opt/homebrew/Cellar/node/15.5.0/libexec/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (node:events:376:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:284:12) gyp ERR! System Darwin 20.3.0 gyp ERR! command \"/opt/homebrew/Cellar/node/15.5.0/bin/node\" \"/opt/homebrew/Cellar/node/15.5.0/libexec/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\" gyp ERR! cwd /***/blog/node_modules/sharp

sharp

Posts with mentions or reviews of sharp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-21.
  • Next.js and Bunny CDN: Complete Guide to Image Uploading with Server Actions
    4 projects | dev.to | 21 Apr 2024
    Last thing left is to use our new upload function in our server action. Since I like to upload images in single format and have some more control over them, I will additionally use sharp library. For file name, I'll generate some random string using nanoid:
  • Sharp – fast image conversion in Node.js
    1 project | news.ycombinator.com | 26 Mar 2024
  • Optimizing Image Display with Blur Placeholder and Lazyload
    1 project | dev.to | 7 Mar 2024
    blur is a technique to blur images while reducing the file size surprisingly. blur works by enlarging the pixels of the image, which reduces the details of the image, and the number of colors also decreases, thus saving storage space. Sharp is a popular image processing library in Node.js, and it supports the blur function. After going through the blur function, the image size at this point is only a few KB, which is reasonable for an image placeholder in the article.
  • Organize the mess of your photo folders with Node
    2 projects | dev.to | 21 Nov 2023
    sharp
  • Creating Chess Board SVGs, PNGs, and GIFs
    3 projects | dev.to | 10 Nov 2023
    For simplicity, I will be generating PNGs with JavaScript/Node and the Sharp image library. Any library that can convert between pixel arrays and image files will make the process quite straightforward.
  • My Journey to Accelerate Load Times in Heavy Frontend
    3 projects | dev.to | 8 Oct 2023
    There is also a library that Next.js itself uses: sharp. It can be setup as Node.js service. I even played around a little: image-proxy-service
  • Automated Image Compression: A Vite Plugin Using Sharp
    2 projects | dev.to | 17 Aug 2023
    Sharp Documentation: Link
  • Using SVG to create simple sparkline charts
    7 projects | news.ycombinator.com | 10 Jul 2023
  • JavaScript Gom Jabbar
    12 projects | news.ycombinator.com | 2 Jul 2023
    ESLint does an amazing job in detecting floating promises. I've not had it miss one, ever. When adding this to a project, I've discovered multiple accidental bugs due to a missing "await" keyword--bugs that were extremely subtle and intermittent in many cases.

    The only thing it can't do is determine that you actually did handle the promise later. Which is fine. It's a LINTING RULE, and false positives are the name of the game.

    What's BAD is when you accidentally miss handling a promise at all. It's an invisible error without the linting rule.

    Your other comments...don't even make sense. You're going to build a Lanczos filter by hand? Or you're only going to ... compile ImageMagick to WebAssembly?!, ... an implementation which is tremendously slower (nearly unusably so for large images) than that of Sharp:

    https://www.npmjs.com/package/sharp

    ... which is simply an import away?

    No, what you're doing is called "motivated reasoning." You've concluded that Deno is the best, and you're reinterpreting all of my complaints in convoluted ways to support your predetermined conclusion.

    Standard fanboy behavior. Or troll behavior. I cite Poe's Law as why it's impossible to tell the difference.

  • How does next/image work?
    1 project | /r/nextjs | 1 Jul 2023

What are some alternatives?

When comparing sharp-libvips and sharp you can also consider the following projects:

node - Node.js JavaScript runtime ✨🐢🚀✨

jimp - An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.

Next.js - The React Framework

squoosh - Make images smaller using best-in-class codecs, right in the browser.

Turn-the-Tides

gm - GraphicsMagick for node

pica - Resize image in browser with high quality and high speed

sveltekit-image-plugin - SvelteKit demo code for using vite-imagetools to add cached, responsive, Next-Gen images to a SvelteKit site with no cumulative layout shift.

imagemin - [Unmaintained] Minify images seamlessly

lwip - Light Weight Image Processor for NodeJS

libvips - A fast image processing library with low memory needs.