Canvas node module gives error when imported

208 Views Asked by At

I am using a nodejs reple to manipulate images with canvas module, and i would get this error:

return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: libuuid.so.1: cannot open shared object file: No such file or directory
    at Module._extensions..node (node:internal/modules/cjs/loader:1343:18)
    at Module.load (node:internal/modules/cjs/loader:1115:32)
    at Module._load (node:internal/modules/cjs/loader:962:12)
    at Module.require (node:internal/modules/cjs/loader:1139:19)
    at require (node:internal/modules/helpers:121:18)
    at Object.<anonymous> (/home/runner/Mercury/node_modules/canvas/lib/bindings.js:3:18)
    at Module._compile (node:internal/modules/cjs/loader:1257:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1311:10)
    at Module.load (node:internal/modules/cjs/loader:1115:32)
    at Module._load (node:internal/modules/cjs/loader:962:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v20.3.1

but then i added this the replit.nix:

{pkgs}: {
  deps = [
        pkgs.nodePackages.prettier
    pkgs.libuuid
  ];
  env = { LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [pkgs.libuuid];  }; 
}

which fixed it on replit, but still, when i deploy it to railway it gives me a error:

node:internal/modules/cjs/loader:1473

return process.dlopen(module, path.toNamespacedPath(filename));

^

Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /nix/store/dnhl6kcdmhad5402v0irwx3mdfjyzf6i-util-linux-minimal-2.39.2-lib/lib/libuuid.so.1)

at Module._extensions..node (node:internal/modules/cjs/loader:1473:18)

at Module.load (node:internal/modules/cjs/loader:1207:32)

at Module._load (node:internal/modules/cjs/loader:1023:12)

at Module.require (node:internal/modules/cjs/loader:1235:19)

at require (node:internal/modules/helpers:176:18)

at Object.<anonymous> (/app/node_modules/canvas/lib/bindings.js:3:18)

at Module._compile (node:internal/modules/cjs/loader:1376:14)

at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)

at Module.load (node:internal/modules/cjs/loader:1207:32)

at Module._load (node:internal/modules/cjs/loader:1023:12) {

code: 'ERR_DLOPEN_FAILED'

}

Node.js v20.10.0

I have tried everything, uninstalling and reinstalling node modules, clearing cache etc.

0

There are 0 best solutions below