Homepage update fails with newer npm version #1296

Closed
opened 2026-02-05 00:13:11 +03:00 by OVERLORD · 4 comments
Owner

Originally created by @jwgn on GitHub (Jul 16, 2025).

Originally assigned to: @vhsdream on GitHub.

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Homepage

📂 What was the exact command used to execute the script?

update

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📝 Provide a clear and concise description of the issue.

Homepage update fails when npm is updated before.

🔄 Steps to reproduce the issue.

npm install -g npm
npm install -g pnpm
update

See below error output.

Paste the full error output (if available).

    __  __                                          
   / / / /___  ____ ___  ___  ____  ____ _____ ____ 
  / /_/ / __ \/ __ `__ \/ _ \/ __ \/ __ `/ __ `/ _ \
 / __  / /_/ / / / / / /  __/ /_/ / /_/ / /_/ /  __/
/_/ /_/\____/_/ /_/ /_/\___/ .___/\__,_/\__, /\___/ 
                          /_/          /____/       

  ⏳   Updating Homepage to v1.4.0 (Patience)Lockfile is up to date, resolution step is skipped
Packages: +17 -1
+++++++++++++++++-
Progress: resolved 17, reused 7, downloaded 10, added 11, done

dependencies:
- luxon 3.5.0
+ luxon 3.6.1
- react-i18next 11.18.6
+ react-i18next 15.5.3
- systeminformation 5.25.11
+ systeminformation 5.27.7

devDependencies:
- eslint-plugin-prettier 5.2.6
+ eslint-plugin-prettier 5.5.1
- eslint-plugin-react-hooks 5.1.0
+ eslint-plugin-react-hooks 5.2.0
- prettier 3.5.2
+ prettier 3.6.2
- tailwind-scrollbar 4.0.1
+ tailwind-scrollbar 4.0.2

Done in 1.3s using pnpm v10.8.1
npm error code EBADDEVENGINES
npm error EBADDEVENGINES The developer of this package has specified the following through devEngines
npm error EBADDEVENGINES Invalid engine "packageManager"
npm error EBADDEVENGINES Invalid name "pnpm" does not match "npm" for "packageManager"
npm error EBADDEVENGINES {
npm error EBADDEVENGINES   current: { name: 'npm', version: '11.4.2' },
npm error EBADDEVENGINES   required: { name: 'pnpm', version: '10.8.1' }
npm error EBADDEVENGINES }
npm error A complete log of this run can be found in: /root/.npm/_logs/2025-07-16T13_11_26_446Z-debug-0.log

[ERROR] in line 59: exit code 0: while executing command $STD npx --yes update-browserslist-db@latest

🖼️ Additional context (optional).

Updated as described here https://github.com/community-scripts/ProxmoxVE/discussions/561

Originally created by @jwgn on GitHub (Jul 16, 2025). Originally assigned to: @vhsdream on GitHub. ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Homepage ### 📂 What was the exact command used to execute the script? update ### ⚙️ What settings are you using? - [ ] Default Settings - [x] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📝 Provide a clear and concise description of the issue. Homepage update fails when npm is updated before. ### 🔄 Steps to reproduce the issue. npm install -g npm npm install -g pnpm update See below error output. ### ❌ Paste the full error output (if available). ``` __ __ / / / /___ ____ ___ ___ ____ ____ _____ ____ / /_/ / __ \/ __ `__ \/ _ \/ __ \/ __ `/ __ `/ _ \ / __ / /_/ / / / / / / __/ /_/ / /_/ / /_/ / __/ /_/ /_/\____/_/ /_/ /_/\___/ .___/\__,_/\__, /\___/ /_/ /____/ ⏳ Updating Homepage to v1.4.0 (Patience)Lockfile is up to date, resolution step is skipped Packages: +17 -1 +++++++++++++++++- Progress: resolved 17, reused 7, downloaded 10, added 11, done dependencies: - luxon 3.5.0 + luxon 3.6.1 - react-i18next 11.18.6 + react-i18next 15.5.3 - systeminformation 5.25.11 + systeminformation 5.27.7 devDependencies: - eslint-plugin-prettier 5.2.6 + eslint-plugin-prettier 5.5.1 - eslint-plugin-react-hooks 5.1.0 + eslint-plugin-react-hooks 5.2.0 - prettier 3.5.2 + prettier 3.6.2 - tailwind-scrollbar 4.0.1 + tailwind-scrollbar 4.0.2 Done in 1.3s using pnpm v10.8.1 npm error code EBADDEVENGINES npm error EBADDEVENGINES The developer of this package has specified the following through devEngines npm error EBADDEVENGINES Invalid engine "packageManager" npm error EBADDEVENGINES Invalid name "pnpm" does not match "npm" for "packageManager" npm error EBADDEVENGINES { npm error EBADDEVENGINES current: { name: 'npm', version: '11.4.2' }, npm error EBADDEVENGINES required: { name: 'pnpm', version: '10.8.1' } npm error EBADDEVENGINES } npm error A complete log of this run can be found in: /root/.npm/_logs/2025-07-16T13_11_26_446Z-debug-0.log [ERROR] in line 59: exit code 0: while executing command $STD npx --yes update-browserslist-db@latest ``` ### 🖼️ Additional context (optional). Updated as described here https://github.com/community-scripts/ProxmoxVE/discussions/561
OVERLORD added the bugupdate script labels 2026-02-05 00:13:11 +03:00
Author
Owner

@vhsdream commented on GitHub (Jul 16, 2025):

This looks to be because pnpm is now the only package manager allowed. npx is npm under the hood.

I did a quick manual test and ran pnpm up caniuse-lite@latest (which is essentially what the old command does) and that succeeded; HOWEVER - pnpm has a known issue that is still not fixed where when you do something like this (update an indirect dependency), it will also update ALL direct dependencies. I can confirm that's what happened in my case:

root@homepage:/opt/homepage# pnpm up caniuse-lite@latest
Downloading react-icons@5.5.0: 22.22 MB/22.22 MB, done
Downloading next@15.4.1: 29.47 MB/29.47 MB, done
Downloading @next/swc-linux-x64-gnu@15.4.1: 48.51 MB/48.51 MB, done
Downloading @img/sharp-libvips-linux-x64@1.2.0: 7.42 MB/7.42 MB, done
Downloading @img/sharp-libvips-linuxmusl-x64@1.2.0: 7.54 MB/7.54 MB, done
 WARN  1 deprecated subdependencies found: event-to-promise@0.7.0
Packages: +155 -2
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
Downloading @next/swc-linux-x64-musl@15.4.1: 48.47 MB/48.47 MB, done
Progress: resolved 664, reused 455, downloaded 149, added 155, done
node_modules/.pnpm/sharp@0.34.3/node_modules/sharp: Running install script, done in 63ms

dependencies:
- @kubernetes/client-node 1.0.0
+ @kubernetes/client-node 1.3.0
- dockerode 4.0.4
+ dockerode 4.0.7
- gamedig 5.2.0
+ gamedig 5.3.1
- ical.js 2.1.0
+ ical.js 2.2.0
- json-rpc-2.0 1.7.0
+ json-rpc-2.0 1.7.1
- luxon 3.6.1
+ luxon 3.7.1
- next 15.3.1
+ next 15.4.1
- react-i18next 15.5.3
+ react-i18next 15.6.0
- react-icons 5.4.0
+ react-icons 5.5.0
- recharts 2.15.3
+ recharts 2.15.4 (3.1.0 is available)
- swr 2.3.3
+ swr 2.3.4

devDependencies:
- @tailwindcss/postcss 4.0.9
+ @tailwindcss/postcss 4.1.11
- eslint 9.25.1
+ eslint 9.31.0
- eslint-config-next 15.2.4
+ eslint-config-next 15.4.1
- eslint-config-prettier 10.1.1
+ eslint-config-prettier 10.1.5
- eslint-plugin-import 2.31.0
+ eslint-plugin-import 2.32.0
- eslint-plugin-react 7.37.4
+ eslint-plugin-react 7.37.5
- postcss 8.5.3
+ postcss 8.5.6
- tailwindcss 4.0.9
+ tailwindcss 4.1.11
- typescript 5.7.3
+ typescript 5.8.3

So I don't think what I did is a good idea since this isn't what is supposed to happen.

@vhsdream commented on GitHub (Jul 16, 2025): This looks to be because pnpm is now the only package manager allowed. `npx` is `npm` under the hood. I did a quick manual test and ran `pnpm up caniuse-lite@latest` (which is essentially what the old command does) and that succeeded; **HOWEVER** - pnpm has a [known issue](https://github.com/pnpm/pnpm/issues/5118) that is still not fixed where when you do something like this (update an indirect dependency), it will also update **ALL direct dependencies**. I can confirm that's what happened in my case: ``` root@homepage:/opt/homepage# pnpm up caniuse-lite@latest Downloading react-icons@5.5.0: 22.22 MB/22.22 MB, done Downloading next@15.4.1: 29.47 MB/29.47 MB, done Downloading @next/swc-linux-x64-gnu@15.4.1: 48.51 MB/48.51 MB, done Downloading @img/sharp-libvips-linux-x64@1.2.0: 7.42 MB/7.42 MB, done Downloading @img/sharp-libvips-linuxmusl-x64@1.2.0: 7.54 MB/7.54 MB, done  WARN  1 deprecated subdependencies found: event-to-promise@0.7.0 Packages: +155 -2 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- Downloading @next/swc-linux-x64-musl@15.4.1: 48.47 MB/48.47 MB, done Progress: resolved 664, reused 455, downloaded 149, added 155, done node_modules/.pnpm/sharp@0.34.3/node_modules/sharp: Running install script, done in 63ms dependencies: - @kubernetes/client-node 1.0.0 + @kubernetes/client-node 1.3.0 - dockerode 4.0.4 + dockerode 4.0.7 - gamedig 5.2.0 + gamedig 5.3.1 - ical.js 2.1.0 + ical.js 2.2.0 - json-rpc-2.0 1.7.0 + json-rpc-2.0 1.7.1 - luxon 3.6.1 + luxon 3.7.1 - next 15.3.1 + next 15.4.1 - react-i18next 15.5.3 + react-i18next 15.6.0 - react-icons 5.4.0 + react-icons 5.5.0 - recharts 2.15.3 + recharts 2.15.4 (3.1.0 is available) - swr 2.3.3 + swr 2.3.4 devDependencies: - @tailwindcss/postcss 4.0.9 + @tailwindcss/postcss 4.1.11 - eslint 9.25.1 + eslint 9.31.0 - eslint-config-next 15.2.4 + eslint-config-next 15.4.1 - eslint-config-prettier 10.1.1 + eslint-config-prettier 10.1.5 - eslint-plugin-import 2.31.0 + eslint-plugin-import 2.32.0 - eslint-plugin-react 7.37.4 + eslint-plugin-react 7.37.5 - postcss 8.5.3 + postcss 8.5.6 - tailwindcss 4.0.9 + tailwindcss 4.1.11 - typescript 5.7.3 + typescript 5.8.3 ``` So I don't think what I did is a good idea since this isn't what is supposed to happen.
Author
Owner

@vhsdream commented on GitHub (Jul 16, 2025):

Update: pnpm update --no-save caniuse-lite seems to work without updating any other packages (really it's the omission of @latest that stops the update of other packages for some reason:

root@homepage:/opt/homepage# pnpm update --no-save caniuse-lite
 WARN  1 deprecated subdependencies found: event-to-promise@0.7.0
Packages: +1
+
Progress: resolved 661, reused 602, downloaded 6, added 1, done
@vhsdream commented on GitHub (Jul 16, 2025): Update: `pnpm update --no-save caniuse-lite` seems to work without updating any other packages (really it's the omission of `@latest` that stops the update of other packages for some reason: ``` root@homepage:/opt/homepage# pnpm update --no-save caniuse-lite  WARN  1 deprecated subdependencies found: event-to-promise@0.7.0 Packages: +1 + Progress: resolved 661, reused 602, downloaded 6, added 1, done ```
Author
Owner

@MickLesk commented on GitHub (Jul 16, 2025):

Maybe the issue is the fixed pnpm Version too?

@MickLesk commented on GitHub (Jul 16, 2025): Maybe the issue is the fixed pnpm Version too?
Author
Owner

@vhsdream commented on GitHub (Jul 16, 2025):

Maybe the issue is the fixed pnpm Version too?

My homepage is pretty "legacy" and I hadn't updated pnpm, and I had the same error with pnpm v8.6.12 as I did when I updated pnpm to latest.

@vhsdream commented on GitHub (Jul 16, 2025): > Maybe the issue is the fixed pnpm Version too? My homepage is pretty "legacy" and I hadn't updated pnpm, and I had the same error with pnpm v8.6.12 as I did when I updated pnpm to latest.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1296