'Failed to commit transaction (conflicting files) when updating packages on Manjaro [closed]

sudo pacman -Syu

I try updating all the packages using pacman on my Manjaro Linux and pacman necessarily does everything to download the latest updates of all the available packages and after checking for file conflicts, it throws

...
(126/126) checking keys in keyring  100%
(126/126) checking package integrity 100%
(126/126) loading package files 100%
(126/126) checking for file conflicts
error: failed to commit transaction (conflicting files)
npm: /usr/lib/node_modules/npm/lib/exec/get-workspace-location-msg.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/@npmcli/git/lib/utils.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/balanced-match/.github/FUNDING.yml exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/just-diff/index.d.ts exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/just-diff/index.tests.ts exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/CHANGELOG.md exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/LICENSE exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/README.md exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/cache-install-dir.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/get-bin-from-manifest.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/index.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/manifest-missing.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/no-tty.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/lib/run-script.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/libnpmexec/package.json exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/proc-log/LICENSE exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/proc-log/README.md exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/proc-log/index.js exists in filesystem
npm: /usr/lib/node_modules/npm/node_modules/proc-log/package.json exists in filesystem
Errors occurred, no packages were upgraded.

Should I have to do anything specific for the node_modules which I assume are the globally installed node modules to be over written or something?



Solution 1:[1]

You can sudo pacman -S npm --overwrite '/usr/lib/node_modules/npm/*'

Comment by the answer's author:

It basically resolves conflicts by overwriting files. In your case, conflicting files are all located in /usr/lib/node_modules/npm/ therefore the * will match all of them. No need to delete them manually with rm -r which would leave the package in an inconsistent state. It is good practice to update/upgrade afterward with sudo pacman -Syyu.

Solution 2:[2]

Just sudo rm -fr /usr/lib/node_modules will work too. node_modules is where npm compiles stuff to, so just remove the compilation contents.

Solution 3:[3]

better use this ->

pacman -Syu blackarch --overwrite '*'

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 prd
Solution 2 Rick
Solution 3 Tyler2P