一直学一直嗨,一直嗨一直学

使用Conda创建NodeJS虚拟环境

导读 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