无法在 Mac 上使用 conda 安装最新的 nodejs

Posted

技术标签:

【中文标题】无法在 Mac 上使用 conda 安装最新的 nodejs【英文标题】:Cannot install latest nodejs using conda on Mac 【发布时间】:2020-06-11 13:02:27 【问题描述】:

当我运行conda search -c conda-forge nodejs 时,我得到:

# Name                       Version           Build  Channel
...
nodejs                        14.2.0      h2c41780_1  conda-forge
nodejs                        14.2.0      h38d8c5a_0  conda-forge
nodejs                        14.3.0      h2c41780_0  conda-forge
nodejs                        14.4.0      h2c41780_0  conda-forge

但是当我尝试使用conda install -c conda-forge nodejs 安装它时,它会尝试安装 6.13.1。做conda install -c conda-forge nodejs==14.4.0 也不起作用。它一直在尝试“解决”环境问题。有关如何解决此问题的任何建议?

【问题讨论】:

nodejs 需要icu>65,但 icu 的 conda-forge 默认是 icu=64.2。这意味着您目前很可能无法将其与其他软件包一起安装。但是,您可以将最新版本安装到单独的环境 conda create -n new_env_name nodejs。如果这不是您的选择,请考虑在此处提出此问题:github.com/conda-forge/nodejs-feedstock/issues @cel 对此表示感谢。不确定icu 是什么,但有什么解决方法吗?安装稍旧的版本怎么样?我基本上需要 nodejs >= 10.0. 在我的环境中可以安装 10.x 版本:conda install "nodejs>=10.0"。也许它也适合你? 实际上在 conda-forge gitter 频道中发布了一个简洁的解决方法:conda install nodejs -c conda-forge --repodata-fn=repodata.json 将安装 13.x。所有学分都归功于 Wolf Vollprecht :-) 你想把这个作为答案,我会接受吗? 【参考方案1】:

目前,最新版本的 nodejs 14.x 需要 icu>=65,它尚未在 conda-forge 包中全局可用。因此可以使用conda create -n new_env_name -c conda-forge nodejs 将其安装到新环境中,但很可能会在现有环境中引发包冲突。

conda install node-js -c conda-forge 安装非常旧的版本6.13.1 似乎是一个求解器问题。 conda install nodejs -c conda-forge --repodata-fn=repodata.json 将安装更新版本:nodejs-13.x。

替代解决方法是使用mamba 作为 conda 替代品。

感谢 Wolf Vollprecht。

【讨论】:

注意:conda install nodejs -c conda-forge --repodata-fn=repodata.json 安装了 nodejs 12.4.0 not 13.X。至少在我的机器上。无论如何,这个版本比你通过标准安装获得的古老的 6.X 更新,所以对我来说还是足够了,谢谢。 我在 Ubuntu 20.04 FYI 中遇到了同样的问题。似乎应该修复的东西...... 在 debian buster 上也一样,请参阅下面的答案***.com/a/67371745/4775727 它解决了我的问题【参考方案2】:

这是我的解决方法:

我从the offical site 的 .pkg 文件中安装了适用于 Mac 的 nodejs,然后每次在我的 conda 环境中更新软件包时,我都会强制删除 conda 安装时使用的 nodejs 版本:

conda uninstall --force nodejs

然后像安装了 nodejs 一样继续使用环境。这样,当任何其他包需要 nodejs 时,它会从系统目录 /usr/local/ 中获取最新的。

【讨论】:

似乎 conda 引起了一些严重的问题。对我来说,即使conda --info 也会抛出错误报告。只需使用此答案卸载 conda,我就可以运行我之前安装的自制版本。【参考方案3】:

我遇到了类似的问题,我就是这样解决的:

首先我不仅做了conda install -c conda-forge nodejs还有https://anaconda.org/conda-forge/nodejs中列出的所有命令

conda install -c conda-forge nodejs
conda install -c conda-forge/label/gcc7 nodejs
conda install -c conda-forge/label/cf201901 nodejs
conda install -c conda-forge/label/cf202003 nodejs

有了这个,我得到了 13.10.1 版本的 nodejs。在我做了conda update nodejs 并收到了它的 14.8.0 版本之后。

【讨论】:

conda install -c conda-forge/label/cf202003 nodejs 安装 12.4.0 这是正确的。我遇到的唯一问题是,如果我尝试更新所有 conda 包,那么 nodejs 会回到版本 6...【参考方案4】:

NodeJS 15.3 从今天开始成功安装,其中:

conda install -c conda-forge nodejs

在 miniconda 4.9.2、python 3.9 环境中。

详细来说,icu==68.1 一起安装。

【讨论】:

【参考方案5】:

试试这个:

conda upgrade -c conda-forge nodejs

【讨论】:

以上是关于无法在 Mac 上使用 conda 安装最新的 nodejs的主要内容,如果未能解决你的问题,请参考以下文章

使用Pip3和conda在mac上安装软件包

为啥 conda 无法在 Windows 上正确安装 tensorflow gpu?

在Mac终端下使用conda命令提示未找到命令conda

在MacOS Sierra上安装Conda(10.x)

无法使用 Conda 在 Windows 上安装 Poppler

无法在 conda-forge 上安装 xgboost