You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default linker in yarn 3+ is Plug'n'Play, which wraps the Node.js require mechanics so it can control filesystem layout.
Most of the time this is a virtual filesystem built on zip files, but we know this won't work with sharp so the prebuilt binaries are already configured to be "unplugged".
I had assumed this was a content-based hash and therefore we wouldn't know it up-front. However it looks like it's a sha512 hash of the package scope, name and version.
The default linker in yarn 3+ is Plug'n'Play, which wraps the Node.js
require
mechanics so it can control filesystem layout.Most of the time this is a virtual filesystem built on zip files, but we know this won't work with sharp so the prebuilt binaries are already configured to be "unplugged".
sharp/npm/linux-x64/package.json
Line 16 in 004fff9
https://github.com/lovell/sharp-libvips/blob/9835b9e1326f38ebdd8b26554aa5e936b8485865/npm/linux-x64/package.json#L16
However yarn unplugs to a directory name that contains a hash.
I had assumed this was a content-based hash and therefore we wouldn't know it up-front. However it looks like it's a sha512 hash of the package scope, name and version.
This means we should be able to add an
rpath
to satisfy yarn's Plug'n'Play filesystem layout.sharp/src/binding.gyp
Lines 176 to 179 in 004fff9
This will result in something like (untested):
See 004fff9 for some discussion about this.
The text was updated successfully, but these errors were encountered: