一、node
、nvm
、npm
、npx
、nrm
区别
node
:是一个基于Chrome V8
引擎的JS
运行环境。npm
:是node.js
默认的包管理系统(用JavaScript
编写的),在安装的node
的时候,npm
也会跟着一起安装,管理node
中的第三方插件。npx
:npm
从v5.2.0
开始新增了npx
命令,>=
该版本会自动安装npx
,附带:npx 有什么作用跟意义?为什么要有 npx?什么场景使用?。nrm
:是一个npm
源管理工具,使用它可以快速切换npm
源,默认是官方源,当npm
下载包过慢时,可能需要切换到第三方源(例如:淘宝、科大…),还有公司私有源地址等等。nvm
:node
版本管理器,也就是说:一个nvm
可以管理多个node
版本(包含npm
与npx
),可以方便快捷的安装
、切换
不同版本的node
。
二、node
、nvm
、npm
、npx
、nrm
关系
nvm
管理node
(包含npm
与npx
) 的版本,npm
可以管理node
的第三方插件,nrm
可以管理npm
的源地址(当然也可以直接使用npm
自带命令管理,看个人习惯)。- 切换不同的
node
版本,npm
与npx
的版本也会跟着变化。
1 | arduino复制代码$ nvm use v8.16.0 |
三、安装 nvm
- nvm 官方文档,nvm 卸载详细流程,
Mac
推荐HomeBrew
安装,方便更新管理,其他随意能装上就行,附带:Mac Homebrew 安装与卸载。 安装方式一:
Mac HomeBrew
安装
如果安装没问题,按照 安装方式三
中除安装部分外,配置好当前解释器需要的 nvm
配置。
1 | ruby复制代码$ brew install nvm |
但是这边网不是很好,一直停在安装页面没动静,所以后面选择了 手动安装
。
如果安装没问题,按照 安装方式三
中除安装部分外,配置好当前解释器需要的 nvm
配置。
下面的安装路径,在 nvm 官方文档 中有。
1 | shell复制代码$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash |
附带:(下面后面找到的替代方案,安装源都换成国内的,尤其是在服务器上进行安装时,网络不行的情况下,可以使用下面这个)
1 | shell复制代码# 安装 |
2、解压文件找到 install.sh
3、执行命令,将 install.sh
路径放到下面命令中回车运行。
1 | shell复制代码$ sh xxx/instal.sh |
4、然后等待,安装完成之后。(没有提示则看下一步)
如果提示没有找到对应解释器的配置文件,则需要手动创建一个当前解释器的配置文件,如果不清楚可以看下这篇文章 Shell 切换解释器,查看当前解释器
1 | error复制代码=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile. |
+ 知道属于什么解释器之后,没有则手动创建一个,这里以 `zsh` 解释器举例:
1
2
3
4
5
6
7
8
9
10
11
12
13
shell复制代码# 创建 zsh 配置文件
$ touch ~/.zshrc
# 编辑配置文件
$ vim ~/.zshrc
```5、如果解释器存在配置文件,则只需要添加到配置文件中即可
+ 将 `nvm` 的配置添加到 `~/.zshrc` 里面保存起来,以安装时提示添加的配置为准,下面就拷贝一下当前安装所提示的。
+ 下面配置二选一即可,但是有一点需要注意:在 `$ sh xxx/instal.sh` 进行安装之前如果本地存在当前解释器的配置文件,默认一般会自动将 `2` 配置直接进行追加到配置文件中,也就是不需要手动进行添加。
+ 在安装这之前没有配置文件的话,就需要先创建配置文件,在手动贴进去,也可以创建配置文件之后,在重新直接运行一遍 `$ sh xxx/instal.sh` 安装,反正也只是覆盖一遍,也会自动追加进去,可以打开配置自己看看。
+ 另外如果没有好的网络,推广更换一下 `nvm` 的镜像地址为淘宝,默认是官方 [nvm 切换为淘宝镜像](https://blog.csdn.net/zz00008888/article/details/132412685) 。
shell复制代码# 1、这是本地不存在配置文件的时候提示需要添加的配置
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# 2、这是本地存在配置文件的时候提示需要添加的配置(推荐)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
1
+ 然后重新加载一遍配置文件,使其生效:
shell复制代码$ source ~/.zshrc
1
2
shell复制代码$ nvm -v
或
$ nvm use system
1 |
|
ruby复制代码$ nvm install stable
1 | * 安装指定版本,可模糊安装,如:安装 `v4.4.0`,既可 `$ nvm install v4.4.0`,又可 `$ nvm install 4.4` |
ruby复制代码$ nvm install
1 | * 删除已安装的指定版本,语法与 `install` 用法一致 |
ruby复制代码$ nvm uninstall
1 | * 切换使用指定的版本 `node` |
csharp复制代码// 临时版本 - 只在当前窗口生效指定版本
$ nvm use
// 永久版本 - 所有窗口生效指定版本
$ nvm alias default
1 |
|
shell复制代码$ nvm ls
1 | * 列出所有远程服务器的版本(官方 `node version list`) |
ruby复制代码$ nvm ls-remote
1 | * 显示当前的版本 |
ruby复制代码$ nvm current
1 | * 给不同的版本号添加别名 |
ruby复制代码$ nvm alias
1 | * 删除已定义的别名 |
shell复制代码$ nvm unalias
1 | * 在当前版本 `node` 环境下,重新全局安装指定版本号的 `npm` 包 |
ruby复制代码$ nvm reinstall-packages
1 | * 查看更多命令可在终端输入 |
ruby复制代码$ nvm
**本文转载自:** [掘金](https://juejin.cn/post/7000652162950758431)
*[开发者博客 – 和开发相关的 这里全都有](https://dev.newban.cn/)*