nvm和nrm的安装使用。
nvm(node version manger)node版本管理。
1.从git 克隆nvm到本地的当前用户目录的nvm文件夹中。
也可以放到 .nvm 文件夹下,这样就默认隐藏在用户目录下了。
git clone git://github.com/creationix/nvm.git ~/nvm
echo "source ~/nvm/nvm.sh" >> ~/.bashrc
.bashrc 文件每次启动终端都会自动调用。
这里把nvm加到了当前用户的的 环境变量中,
source 可以使用 . (点)替换
不想重启系统,所以先手动执行一下
source ~/.bashrc
source 命令 (点命令)在当前环境下读取并执行文件中的命令。
nvm list-remote
nvm install v10.16.0
# 直接安装 最新的长期支持版本
nvm install --lts
nvm ls
nvm use v10.16.0
# 使用长期支持版本
nvm use --lts
nvm --help
nvm 命令不多。通过帮助就可以查到所有的命令的使用方法了。
nvm安装指定版本的node的时候会下载node和npm,默认会去 https://nodejs.org/dist/
和https://github.com/npm/npm/archive/.
下载node和npm,都是境外的网站,所以有时候网络不好执行nvm install xxx
,下载nodejs或者npm失败,可以使用下面的命令调整为国内的的镜像:
nvm node_mirror https://npmmirror.com/mirrors/node/
— 用于下载nodejs
nvm npm_mirror https://npmmirror.com/mirrors/npm/
— 用于下载npm
也可以直接在nvm的安装目录下的setting.txt中直接添加下面两行,
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
如果npm还是无法下载成功的话可以从其它版本复制一个npm到当前版本的目录。或者直接淘宝的网站下载个对应版本的npm包,放到对应版本的node_modules 目录下。 npm包下载
window下执行nvm use xxx
,可能会报错exit status 1: ��û���㹻��Ȩ��ִ�д˲�����
之类的。
nodejs 在 Node.16.9.0版本推出了新的corepack,用于管理“包管理工具”。可以在package.json 中指明使用的包管理工具
"packageManager": "[email protected]"
对于大多数开发者影响不大,只是不再全局安装npm这个包了。
值得持续关注
nrm (npm registry manger) npm 仓库地址管理。我们有多个npm仓库的地址的时候需要来回切换。如果直接修改npm配置比较麻烦,所以可以通过,nrm来管理。
手动切换registry地址。
查看当前npm 的所有配置
npm config list
只查看当前npm 的registry地址。
npm config get registry
设置新的registry地址
npm config set registry https://registry.npm.taobao.org
设置之后可以通过 npm config get registry
查看是否设置成功。
使用nrm切换registry
安装nrm
npm i -g nrm
国外镜像可能安装比较慢或者失败。可以先通过手动切换registry地址。切换到国内镜像安装。
nrm ls
nrm add newReg http://****
url 末尾不要加斜杠
nrm use newReg
nrm del newReg
nrm -help
window下安装最新的nrm在新的node上运行的时候报错
F:\vscodeProject\learnVue>nrm ls
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at Object. (D:\nvm\v14.16.0\node_modules\nrm\cli.js:17:20)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
] {
code: 'ERR_INVALID_ARG_TYPE'
}
需要修改cli.js中的
// 17行替换为
// const NRMRC = path.join(process.env.HOME, '.nrmrc');
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
window下的安装使用
window下安装nvm
window下安装nrm