导读 Anaconda发行版随带一种名为Conda的软件包和环境管理系统。它用来管理并部署应用程序、环境和软件包。Conda用Python编写,最初完全为Python程序开发,但可以用于任何语言,比如R和Nodejs等。本文将介绍如何在Linux中使用Conda来创建Nodejs虚拟环境。

Anaconda发行版随带一种名为Conda的软件包和环境管理系统。它用来管理并部署应用程序、环境和软件包。Conda用Python编写,最初完全为Python程序开发,但可以用于任何语言,比如R和Nodejs等。本文将介绍如何在Linux中使用Conda来创建Nodejs虚拟环境。

使用Conda软件包管理器创建NodeJS虚拟环境

运行以下命令,为NodeJS创建名为“nodeenv”的新虚拟环境:

$ conda create -n nodeenv nodejs 

示例输出:

Collecting package metadata (current_repodata.json): done 
 Solving environment: done 
 Package Plan 
 environment location: /home/sk/anaconda3/envs/nodeenv 
 added / updated specs: 
     - nodejs 
 The following packages will be downloaded: 
 package                    |            build ---------------------------|----------------- _libgcc_mutex-0.1          |             main           3 KB libgcc-ng-9.1.0            |       hdf63c60_0         5.1 MB libstdcxx-ng-9.1.0         |       hdf63c60_0         3.1 MB nodejs-10.13.0             |       he6710b0_0        13.0 MB ------------------------------------------------------------                                        Total:        21.1 MB 
 The following NEW packages will be INSTALLED: 
 _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main 
   libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0 
   libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0 
   nodejs             pkgs/main/linux-64::nodejs-10.13.0-he6710b0_0 
 Proceed ([y]/n)? y 
 Downloading and Extracting Packages 
 libgcc-ng-9.1.0      | 5.1 MB    | ############################################################################################# | 100%  
 _libgcc_mutex-0.1    | 3 KB      | ############################################################################################# | 100%  
 libstdcxx-ng-9.1.0   | 3.1 MB    | ############################################################################################# | 100%  
 nodejs-10.13.0       | 13.0 MB   | ############################################################################################# | 100%  
 Preparing transaction: done 
 Verifying transaction: done 
 Executing transaction: done 
 # 
 To activate this environment, use 
 # 
 $ conda activate nodeenv 
 # 
 To deactivate an active environment, use 
 # 
 $ conda deactivate 

检查环境是否已创建,只需列出可用的Conda环境:

$ conda info --envs

或者

$ conda env list 

示例输出:

# conda environments: 
# 
base                  *  /home/sk/anaconda3 
nodeenv                  /home/sk/anaconda3/envs/nodeenv 

没错,名为nodeenv的NodeJS环境已创建。

列出nodeenv环境中的所有软件包和版本:

$ conda list -n nodeenv 

示例输出:

packages in environment at /home/sk/anaconda3/envs/nodeenv: 
 # 
 Name                    Version                   Build  Channel 
 _libgcc_mutex             0.1                        main   
 libgcc-ng                 9.1.0                hdf63c60_0   
 libstdcxx-ng              9.1.0                hdf63c60_0   
 nodejs                    10.13.0              he6710b0_0   

现在使用以下命令激活环境:

$ conda activate nodeenv 

现在您会看到外壳提示符前面的前缀(nodeenv)。这意味着nodeenv环境已被激活。

(nodeenv) sk@ostechnix:~$ 

检查node和npm版本:

$ node --version 
v10.13.0 
 
$ npm --version 
6.4.1 

就这样。新的NodeJS虚拟环境已为您的应用开发作好了准备!

删除Conda环境

一旦您使用完毕,可以使用以下命令取消环境:

$ conda deactivate 

如果您不再想要NodeJS环境,删除它即可:

$ conda env remove -n nodeenv 

该命令会删除nodeenv环境(包括所有与其关联的软件包)。您可以核实环境到底有没有删除,只需列出Conda环境:

$ conda info –envs 

从Conda-forge安装Nodejs最新版本

默认情况下,Conda将从default渠道安装Nodejs、npm及其他所需的软件包。default渠道中的软件包由来自Anaconda公司的Conda团队维护。它们是稳定的、经过充分测试的,但大多已过时。如果您想要较新版本的软件包,就从Conda-forge渠道安装它们。Conda-forge渠道是社区维护的代码库,为众多软件提供了Conda软件包。

您可能注意到了,从default渠道下载的Nodejs版本是10.13.0。Conda-forge渠道拥有最新的Nodejs版本,于是我们可以从这个渠道安装最新的Nodejs版本。

先删除旧环境,如删除Conda环境部分中所示。

然后运行以下命令,创建一个名为“nodeenv”的新环境,从Conda-forge渠道安装最新的Nodejs版本:

$ conda create -c conda-forge -n nodeenv nodejs 

激活nodeenv环境:

$ conda activate nodeenv 

检查Nodejs版本:

$ node --version 
 
v15.3.0 

请注意:npm版本可能并非始终最新。想更新它,只需运行:

$ npm install -g npm@latest 

检查npm版本:

$ npm --version 
 
7.5.4 

就这样。您在本文中学到了如何使用Conda软件包管理器为Nodejs程序创建虚拟环境,还学到了如何从Conda-forge代码库安装最新的Nodejs版本。如果您是开发人员,可以利用Anaconda来创建用于测试JavaScript应用程序的多个虚拟环境。

原文标题:Create NodeJS Virtual Environments Using Conda In Linux,作者:Senthil Kumar

原文来自:https://os.51cto.com/art/202103/647538.htm

本文地址:https://www.linuxprobe.com/use-conda-nodejs.html编辑:黑曜羽,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/