qiime2 2021.4 installation fails unresolved dependencies nodejs

Installation of QIIME2 2021.4 (latest version) fails with the following error:
Solving environment: failed

ResolvePackageNotFound:

  • q2-taxa=2021.4.0
  • nodejs[version=’>=15.14.0,<16.0a0’]
  • __glibc[version=’>=2.17,<3.0.a0’]
  • q2-demux=2021.4.0
  • nodejs[version=’>=15.14.0,<16.0a0’]
  • __glibc[version=’>=2.17,<3.0.a0’]
  • nodejs=15.14.0
  • __glibc[version=’>=2.17,<3.0.a0’]
  • q2-diversity=2021.4.0
  • nodejs[version=’>=15.14.0,<16.0a0’]
  • __glibc[version=’>=2.17,<3.0.a0’]
  • q2-quality-control=2021.4.0
  • q2-taxa=2021.4
  • nodejs[version=’>=15.14.0,<16.0a0’]
  • __glibc[version=’>=2.17,<3.0.a0’]
  • q2-feature-classifier=2021.4.0
  • q2-quality-control=2021.4
  • q2-taxa=2021.4
  • nodejs[version=’>=15.14.0,<16.0a0’]
  • __glibc[version=’>=2.17,<3.0.a0’]

It has something to do with nodejs. In the earlier versions of QIIME2 there was a requirement for installed nodejs, which is present on our Debian 10 based system with 10.24.0.
In this QIIME2 release, nodejs is in the Conda environment.
I can’t remove nodejs from the system since we have older QIIME2 version and they’re still used.
This is our conda info output:
active environment : None
shell level : 0
user config file : /home/galaxy/.condarc
populated config files : /home/galaxy/.condarc
conda version : 4.5.11
conda-build version : not installed
python version : 3.5.2.final.0
base environment : /home/data/galaxy_tool_dependencies/_conda (writable)
channel URLs : https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/pro/linux-64
https://repo.anaconda.com/pkgs/pro/noarch
https://conda.anaconda.org/r/linux-64
https://conda.anaconda.org/r/noarch
https://conda.anaconda.org/anaconda/linux-64
https://conda.anaconda.org/anaconda/noarch
package cache : /home/data/galaxy_tool_dependencies/_conda/pkgs
/home/galaxy/.conda/pkgs
envs directories : /home/data/galaxy_tool_dependencies/_conda/envs
/home/galaxy/.conda/envs
platform : linux-64
user-agent : conda/4.5.11 requests/2.18.4 CPython/3.5.2 Linux/5.9.0-0.bpo.5-amd64 debian/10 glibc/2.28
UID:GID : 500:500
netrc file : None
offline mode : False

As long as your PATH variable is configured correctly, having another nodejs installation shouldn’t be an issue. You just need to make sure that your conda env does not come after another item in PATH that would cause it to prefer a different installation of nodejs. You can verify this with which node and which npm.

Thanks for sharing this!

Can you please share the command you ran prior to seeing this ResolvePackageNotFound error? Are you following the instructions here, exactly, to install QIIME 2?

I’m curious if you might be trying to install the QIIME 2 dependencies into your base conda environment, rather than into a new, isolated conda environment. Is that possible?

It also looks like you are running an older version of conda. Can you update that with conda update conda?

I’m following QIIME2 installation instructions and I had no issues with any previous QIIME2 version. So this is the command I’m using:
conda env create -n [email protected] --file qiime2-2021.4-py38-linux-conda.yml
BTW conda is not in the user $PATH.
Thanks

Have you tried installing qiime 2 again afteer updating conda? Before attempting to install again, you should make sure you have removed the qiime 2 env that you may have previously created. You can check if the [email protected] env exists with conda list env. It’s also possible you saw the error above due to network issues.

Otherwise, I would suggest:

  • Uninstalling conda
  • Re-installing conda
    • Use conda’s init comand to configure your shell properly (or do this yourself if you prefer)
  • Run conda update conda
  • Try to install QIIME 2 again

If that doesn’t work, please share the output of the env command. This may be a bit heavy handed, but eliminating a lot of possible confounding factors is often worth the trouble.