一、NVM
nvm全英文也叫node.js version management,是一个nodejs的版本管理工具,通过它可以安装和切换不同版本的node.js。
1、windows环境下安装NVM
(1)安装包下载地址:Releases · coreybutler/nvm-windows · GitHubReleases · coreybutler/nvm-windows · GitHub Releases · coreybutler/nvm-windows · GitHub
(2)下载完成双击nvm-setup.exe安装文件,根据提示进行安装即可。
备注:安装过程中选择安装路径时要注意避免路径中含有空格,避免后续使用npm命令时报错。
(3)打开cmd终端,输入nvm version
验证是否安装成功。
(4)进行node和npm的镜像源配置。避免安装node和npm依赖时报类似如下错误:
Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt.
Get "https://nodejs.org/dist/latest/SHASUMS256.txt": net/http: TLS handshake timeout
有两种镜像源配置方法: 方法一:在cmd终端中,通过如下命令进行配置:
nvm node_mirror https://npm.taobao.org/mirrors/node/ nvm npm_mirror https://npm.taobao.org/mirrors/npm/
方法二:打开nvm安装目录下的settings.txt文件,在文件中添加如下内容:
node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
2、linux下安装nvm
nvm源码地址:github中nvm的地址: GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions 安装步骤: (1)执行命令:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 或wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash (2)将(1)中输出的nvm配置,粘贴到.bash_profile文件中并保存, vim ~/.bash_profile source ~/.bash_file或source ~/.bashrc (3)查看node版本 node -v
3、nvm常用命令
nvm version :显示nvm版本。version可简化为v。 nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。 nvm arch:显示node是运行在32位还是64位。 nvm list [installed] :显示已安装的列表。参数installed可省略。list可简化为ls。 nvm ls-remote:列出所有远程服务器的版本。 nvm ls available:显示可安装的所有nodejs版本。 nvm install <version> [arch] :安装指定版本的nodejs。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加--insecure绕过远程服务器的SSL。 nvm install latest 会直接安装最新版本的nodejs。 nvm install stable ## 安装最新稳定版 nodejs。 nvm uninstall <version> :卸载已安装的指定版本nodejs。 nvm on :开启node.js版本管理。 nvm off :关闭node.js版本管理。 nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。 nvm node_mirror [url] :设置node镜像。默认是Index of /dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。 nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。 nvm current:显示当前正在使用的nodejs版本。 nvm use [version] [arch] :切换使用指定版本的nodejs。可指定32/64位。 nvm alias <name> <version>:给不同的版本号添加别名 nvm unalias <name>:删除已定义的别名 nvm reinstall-packages <version>:在当前版本 node 环境下,重新全局安装指定版本号的 npm 包 nvm alias default [node版本号]:设置默认版本 npm install -g cnpm --registry=https://registry.npm.taobao.org //使用淘宝镜像
4、使用nvm安装nodejs
# 安装指定版本的nodejs nvm install 12.20.1 # 使用指定版本的nodejs nvm use 12.20.1 # 查看当前nodejs和npm版本 node -v npm -v
备注: 安装完nvm和node,执行nvm use 12.20.1 时报错如下:
exit status 1: ��û���㹻��Ȩ��ִ�д˲�����
解决方法:使用管理员角色打开cmd,重新执行nvm use 12.20.1即可
5、npm全局配置
在使用nvm安装nodejs时会自动安装npm。为了方便依赖管理,可以对npm依赖的相关路径进行全局配置。
# npm安装依赖模块时的安装路径全局配置 npm config set prefix "D:\Program\nodejs\node_global" # npm安装依赖模块时的cache缓存路径全局配置 npm config set cache "D:\Program\nodejs\node_cache"
二、NPM
npm全称为Node Packaged Modules,是一个用于管理基于node.js编写的package的命令行工具。
1、npm获取配置的方式
npm获取配置有如下6种方式,按优先级由高到底依次是:
(1)命令行参数。示例: npm install --proxy http://server:port
。
(2)环境变量。 以npm_config_
为前缀的环境变量会被认为是npm的配置属性。示例:npm_config_proxy=http://server:port
。
(3)用户配置文件。可以通过npm config get userconfig
查看文件路径。
(4)全局配置文件。可以通过npm config get globalconfig
查看文件路径。
(5)内置配置文件。在npm的目录下的npmrc文件中进行配置。
(6)默认配置。 如果以上5条都没设置,则npm会使用默认配置参数。
2、npm的常用命令
npm cache clean --force:清除缓存 npm config list:查看npm配置信息 npm config get registry:查看当前镜像源配置 npm config set registry http://registry.cnpmjs.org:设置cnpm镜像源 npm config set registry https://registry.npm.taobao.org:设置淘宝镜像源 npm config delete registry:删除镜像源 npm config ls -l:查看所有配置属性(包括默认配置) npm config get prefix:查看npm的全局插件安装目录 npm help config:查看npm的各种配置的含义说明 npm view <包名> versions --json:查看某个依赖包的所有版本 npm ls:查看项目中npm的依赖关系图 npm ls <包名>:查看指定package包的依赖关系 npm ls -g:查看npm安装的全局插件列表
备注:设置配置属性时,属性值默认是被存储于用户配置文件中的,可以通过指定--global
参数使其保存在全局配置文件中。
3、npm代理设置
不需要认证时,
$ npm config set proxy http://server:port $ npm config set https-proxy http://server:port
需要认证时,
$ npm config set proxy http://username:password@server:port $ npm config set https-proxy http://username:pawword@server:port
如果代理不支持https的话需要修改npm存放package的网站地址。
$ npm config set registry "http://registry.npmjs.org/"
4、npm 依赖包版本号的前缀标识含义
*:默认是值,可省略,安装的是最新版本的依赖包。 ~ :会匹配最近的小版本依赖包,比如:~1.2.3 会匹配所有1.2.x版本,但是不包括1.3.0。推荐使用。 ^ :会匹配最新的大版本依赖包,比如:^1.2.3 会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0。
三、NRM
nrm(npm registry manager) 是 npm 的镜像源管理工具。
1、常用命令
npm install -g nrm:全局安装nrm nrm ls:查看当前可选镜像源(其中,带*的是当前使用的源) nrm use <镜像源名称>:切换镜像源 nrm add <自定义的源名> <源的URL路径>:添加自定义镜像源 nrm del <源名>:删除镜像源 nrm test <源名>:测试镜像源速度
备注:全局安装完nrm后执行nrm ls
命令报错提示如下:
C:\WINDOWS\system32>nrm ls 'nrm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
解决方法: 将nodejs的全局安装路径配置添加到系统环境变量配置中即可。步骤如下:
(1)新建一个变量,名字为“NRM_PATH”,值为 nodejs全局安装路径(比如:“D:\Program\nodejs\node_global”)
(2)将NRM_PATH环境变量追加到系统path路径中:;%NRM_PATH%