Skip to content

Replace prebuild-install with node-gyp#1446

Open
Drulac wants to merge 1 commit intoWiseLibs:masterfrom
Drulac:patch-1
Open

Replace prebuild-install with node-gyp#1446
Drulac wants to merge 1 commit intoWiseLibs:masterfrom
Drulac:patch-1

Conversation

@Drulac
Copy link

@Drulac Drulac commented Feb 27, 2026

Hello !
Thank you for all your work 😁 !

prebuild-install has been deprecated and now recommand to use node-gyp instead

I've tried locally and nothing seem to be broken as node-gyp it's already the fallback building method

Have a nice day 😁 !

prebuild-install has been deprecated and now recommand to use node-gyp instead
@Drulac Drulac requested review from a team and JoshuaWise as code owners February 27, 2026 21:13
@m4heshd
Copy link
Contributor

m4heshd commented Feb 28, 2026

Thanks for the PR.

Yes, prebuild-install has been deprecated, but node-gyp unfortunately isn't a replacement for prebuild-install. They perform completely different tasks.

node-gyp is the build tool used to compile native code for Node targets. prebuild uses node-gyp to compile each prebuilt binary, which is then uploaded as a release asset. prebuild-install downloads assets that match the platform. If no matching asset is found, it falls back to using node-gyp to build the binary locally. That's why it worked fine for you. It built the binary on your local setup.

@Drulac
Copy link
Author

Drulac commented Mar 3, 2026

Hello 😁 !

It may be better practice to built the binary localy than using a deprecated module ?

@m4heshd
Copy link
Contributor

m4heshd commented Mar 7, 2026

It may be better practice to built the binary localy than using a deprecated module ?

Well, I do agree with you on this. I've been telling people that for years. I always rebuild locally, even when the prebuilt binaries are available. Also, with how stable this library is now, the only difficult maintenance part is the build script for prebuilt binaries. So, it would take a big load off the maintainers as well if we were to discontinue prebuilt binaries.

Unfortunately, we cannot ditch them in a rush. The users would FREAK if we did this. I've seen total crashouts in the issue tracker just for a single missing prebuilt binary. A lot of automated builds and tests rely on prebuilt binaries, and there are non-accelerated systems that would take multiple minutes to compile SQLite3.

So, there's too much dependence on them to be discontinued. It will come to that point in the future though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants