New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: 1.3.0 could not load the sharp module #1210
Comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
+1 |
For whatever reason it works in this almost exact environment. |
yeah, same here. After locking the package to 1.2.0 it works again. |
I've did some digging and found that for pnpm, turning on See:
The reason can be as follows. In sharp it imported the runtime like such: in https://github.com/lovell/sharp/blob/main/lib/sharp.js const paths = [
`../src/build/Release/sharp-${runtimePlatform}.node`,
'../src/build/Release/sharp-wasm32.node',
`@img/sharp-${runtimePlatform}/sharp.node`,
'@img/sharp-wasm32/sharp.node'
];
let sharp;
const errors = [];
for (const path of paths) {
try {
sharp = require(path);
break;
} catch (err) {
/* istanbul ignore next */
errors.push(err);
}
} When Which afterwards it returns the topic error. if (sharp) {
module.exports = sharp;
} else {
const [isLinux, isMacOs, isWindows] = ['linux', 'darwin', 'win32'].map(os => runtimePlatform.startsWith(os));
const help = [`Could not load the "sharp" module using the ${runtimePlatform} runtime`];
errors.forEach(err => {
if (err.code !== 'MODULE_NOT_FOUND') {
help.push(`${err.code}: ${err.message}`);
}
});
... |
For me v1.2 doesn't work either. As far as i can tell it breaks related to ipx v3 yarn.lock "@nuxt/image@^1.2.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@nuxt/image/-/image-1.3.0.tgz#2ad1733a2a8fec873805452a7bf71fee4277e6af"
integrity sha512-HoAvBImqRrAwCLhZe7IsRwUWvV0ZVqUKFE/GsT8Jo01NBEd+PXhhu2XgHKV+aasqPXdeaQjhL43CSIwuNEwG1w==
dependencies:
"@nuxt/kit" "^3.9.2"
consola "^3.2.3"
defu "^6.1.4"
h3 "^1.10.0"
image-meta "^0.2.0"
node-fetch-native "^1.6.1"
ohash "^1.1.3"
pathe "^1.1.2"
std-env "^3.7.0"
ufo "^1.3.2"
optionalDependencies:
ipx "^3.0.0"
ipx@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ipx/-/ipx-3.0.0.tgz#9a38aa104bf69a949b1996bcad0d42f58a18d955"
integrity sha512-hE/WwWsNZ2nlNpRUc8ri7rqLlBgMBp3kTuwbvfseO32e9kNzfvj05sNwdf2/7P/M3XOKAGc1RP8e/iQzYz/thA==
dependencies:
"@fastify/accept-negotiator" "^1.1.0"
citty "^0.1.5"
consola "^3.2.3"
defu "^6.1.4"
destr "^2.0.2"
etag "^1.8.1"
h3 "^1.10.0"
image-meta "^0.2.0"
listhen "^1.5.6"
ofetch "^1.3.3"
pathe "^1.1.2"
sharp "^0.33.1"
svgo "^3.2.0"
ufo "^1.3.2"
unstorage "^1.10.1"
xss "^1.0.14" |
Yeah, Tried pinning Only downgrading back to nuxt/image 1.2.x resolves it (which resolves to ipx 2.x and sharp 0.32) |
@Artem-Schander your lock file still shows version You will have to add |
Even downgrading my Nuxt to I'm on an M1 Mac, if that makes a difference. |
you're right. should have noticed myself. sorry for the noise. |
This comment was marked as outdated.
This comment was marked as outdated.
Same issue |
I reverted that update with a yarn resolution and it works again: {
// ...
"packageManager": "[email protected]",
"resolutions": {
"@nuxt/image/ipx": "^2.0.2",
}
} Here is the commit that did the update for 1.3.0: 0a5974b |
Hi @zavvla, please follow this comment. so just use "1.2.0", dont use prefix |
Hey everyone! We are aware of the recent issues. The problem is how sharp bundles binaries for various platforms, especially causing issues when the prod environment is different than the dev/build environment. |
We are using yarn v1 and falling back to "resolutions": {
"sharp": "0.32.6"
} This mechanism also exists for npm via "overrides": {
"sharp": "0.32.6"
} |
This comment was marked as duplicate.
This comment was marked as duplicate.
I'm facing the same issue on a Apple M1 In my case the issue was only when I run the app on the server, if I do `npm run build node .output/server/index.mjs` everything works fine, the problem begins when I upload the build on a Centos9 and run it with PM2, there I get the:
The only thing that changed something a bit was to put On my local machine everything still run smoothly, but if I upload the build on the server the error now is:
|
This comment was marked as off-topic.
This comment was marked as off-topic.
@gorkie and others Please refrain from posting comments that don't add additional context like "+1", "me too" or "bump". Instead, just upvote the issue through reactions or provide additional context like a reproduction, a new scenario where it happens or anything else that helps resolving the issue. |
I'm stuck with this, I'm developing from an Apple M1 so an ARM, to a linux/amd64 environment, if I downgrade to 1.2 I still get the Until a fix arrives, does anyone know a valid workaround for my usecase? |
@ThePlastic I had to restart my M1 Mac after downgrading to get this to work again. |
Tried, no result. |
Same problem with Nuxt 3.10 and Nuxt/Image 1.3. But the problem only appears locally, my project is deployed on Vercel and everything works. By switching back to version 1.2, the problem disappears... |
I believed the same but was just a matter of npm cache on the production environment, once I made a clean deploy the problem arise in production too |
I also reproduced this in a docker using node-alpine:20, running on Ubuntu 20. Downgrading to 1.2.0 did not solve the issue. EDIT: In my case, I was able to fix it, by re-installing RUN rm -rf server/node_modules/sharp && npm --prefix server install sharp |
downgrading to FROM node:18-alpine as build
WORKDIR /app
COPY package*.json /app
RUN npm install
COPY . /app
RUN npm run build
FROM gcr.io/distroless/nodejs:18 as prod
WORKDIR /app
COPY --from=build /app/.output /app/.output
CMD ["/app/.output/server/index.mjs"] |
this worked for me
windows 11x64 |
I can confirm that a downgrade of |
It works for me without have to downgrade to pin sharp in package.json if you are using pnpm: "resolutions": {
"sharp": "0.32.6"
} or using npm: "overrides": {
"sharp": "0.32.6"
} |
For me this only happened in Docker environment. Using non-slim node images resolved our issue. |
this won't get 500 but stuck at lazy image thumbnail (blur) |
If you are deploying in Vercel. Try just setting image: {
provider: 'vercel',
domains: [process.env.NUXT_IMAGE_API_DOMAIN || 'devdk-relaunch.spotwerbung.ch'],
quality: 100,
screens: {
'sm': 320,
'md': 640,
'lg': 1024,
'xl': 1440,
'2xl': 1920,
}
} |
Environment: @nuxt/[email protected] and @nuxt/[email protected] have issues if the image is PNG format and if the background is transparent. It generates the following error:
Firstly, I thought the problem was appearing as far as I build the project locally and then send the files via FTP to the server. But this is not the case. The problem is in the library itself. |
Hello, My environment : It is still a problem with @nuxt/image 1.5.0, downgrading to 1.2.0 fixed the issue for me. Hope it helps :) |
Nothing works for me OS: Ubuntu 22.04 package.json
|
I'm not sure if this is a @nuxt/image, ipx, or sharp issue since updating to 1.3.0, @nuxt/image updates its ipx which also update its sharp.
Reproduction:
1.2.0 (Working): https://codesandbox.io/p/devbox/nuxt-image-1-2-0-build-output-8xnjr9
1.3.0 (Not working): https://codesandbox.io/p/devbox/nuxt-image-1-3-0-could-not-load-the-sharp-module-23zjtt
If needed, open a terminal in codesandbox to build and run it:
You'll see that 1.3.0 does not load the image in public directory properly with an error:
The text was updated successfully, but these errors were encountered: