Search code examples
node.jsarchlinuxpackage-managementpacman-package-manager

Pacman upgrade causes conflict with not present packages


I'm on Arco Linux(the most basic one).

I have installed the nodejs package with pacman.

Now when I run sudo pacman -Su I am getting nodejs-lts-gallium and nodejs are in conflict. Remove nodejs? [y/N]. But when I run pacman -Qi nodejs-lts-gallium, it says error: package 'nodejs-lts-gallium' was not found

enter image description here

How do I remove the nodejs-lts-gallium artifacts causing the conflict?


Solution

  • What is happening is that an installed package had a new dependecy to nodejs-lts-gallium. Or a transitive dependency does. E.g. InstalledPackageA now depends on packageB that depends on nodejs-lts-gallium.

    You can see what would be upgraded with the following command :

    pacman -Su --print --print-format %n 
    

    From that you can check what package does explicitely depend on it, with for example (edited thanks to Harm's suggestion):

    pacman -Si $(pacman -Su --print --print-format %n) | grep -B9 nodejs-lts-gallium
    

    A package should appear Depends On [...] nodejs-lts-gallium, that's the package which requires it.