Linux Ubuntu 20.04 LTS 下安装 nvm nodejs npm 等
2021-01-08
阅读 {{counts.readCount}}
评论 {{counts.commentCount}}
## 前言
在 `Linux` 下开发 `Vue-CLi` ,需要 `NodeJs` 环境 ,推荐使用 `nvm` 来安装 `Node`
<br>
`nvm` 是 `node` 的版本控制器 ,用 `nvm` 安装 `node` 要比直接在系统中安装 `node` 侵入性更小
而且如有环境错误或者需要换版本等,只要一个命令即可
版本和环境即可随意删除和切换,各版本享独立环境,互相之间互不影响
<br>
本文主要快速介绍如何在 `Linux` 环境下安装和使用 `nvm` 安装 `NodeJs` 环境
<br><br>
## 正文
<br>
其实就2步,去看他最新版本是几点几
[https://github.com/nvm-sh/nvm/releases](https://github.com/nvm-sh/nvm/releases)
例如我当前看到的是 `v0.37.2` 那就把下面链接的版本号改为0.37.2
在浏览器打开链接现在 `install.sh` 文件
[https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh)
<br>
这里会有一个小血坑是
`raw.githubusercontent.com` 是一个墙内打不开的域名
这里就需要开洞小脑筋了,八仙过海各显神通
我用的是国内的代理访问github的网站,例如
在前面加 `https://github.91chifun.workers.dev//`
也就是
[https://github.91chifun.workers.dev//https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh](https://github.91chifun.workers.dev//https://raw.githubusercontent.com/creationix/nvm/v0.37.2/install.sh)
这样访问就可以下载到最新版本的 `install.sh` 文件了
`cd` 到下载目录下
给一个可执行权限
```shell
sudo chmod 755 install.sh
```
<br>
这里就遇到第二个小血坑了
他是装在当前用户的环境下,而不是所有用户
如果你用root去装,那完蛋,以后都要用root来执行node npm 等命令
回到非root用户就找不到这些命令了!
所以建议是直接用当前用户权限直接执行即可
```shell
./install.sh
```
<br>
这里就遇到第2.5个小血坑了
TMD这脚本改了 `.bashrc` 文件,却没自动去刷新环境变量使其生效
一度导致我以为还没装上
使用以下命令刷新环境变量才能生效
```shell
source ~/.bashrc
```
<br>
最后试一下nvm命令即可大功告成
```shell
nvm -h
# 正确返回如下
Node Version Manager (v0.37.2)
Note: <version> refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, system
- custom aliases you define with `nvm alias foo`
Any options that produce colorized output should respect the `--no-colors` option.
Usage:
nvm --help Show this message
--no-colors Suppress colored output
nvm --version Print out the installed version of nvm
nvm install [<version>] Download and install a <version>. Uses .nvmrc if available and version is omitted.
The following optional arguments, if provided, must appear directly after `nvm install`:
-s Skip binary download, install from source only.
--reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>
--lts When installing, only select from LTS (long-term support) versions
--lts=<LTS name> When installing, only select from versions for a specific LTS line
--skip-default-packages When installing, skip the default-packages file if it exists
--latest-npm After installing, attempt to upgrade to the latest working npm on the given node version
--no-progress Disable the progress bar on any downloads
--alias=<name> After installing, set the alias specified to the version specified. (same as: nvm alias <name> <version>)
--default After installing, set default alias to the version specified. (same as: nvm alias default <version>)
nvm uninstall <version> Uninstall a version
nvm uninstall --lts Uninstall using automatic LTS (long-term support) alias `lts/*`, if available.
nvm uninstall --lts=<LTS name> Uninstall using automatic alias for provided LTS line, if available.
nvm use [<version>] Modify PATH to use <version>. Uses
...
```
这里只要知道常用的几个命令即可
```shell
# 查看当前已下载安装的版本
nvm ls
# 查看当前云端可以支持下载安装的版本
nvm ls-remove
# 下载安装云端指定版本 例如12.20.1
nvm install 12.20.1
# 切换到指定版本
nvm use 12.20.1
# 删除命令是
nvm uninstall 12.20.1
```
<br>
我这里使用的是 `12.20.1` 来开发 `vue-cli 4.5.9`
所以执行的顺序就是
```shell
nvm ls-remove
nvm install 12.20.1
nvm use 12.20.1
```
<br>
最后试下效果
```shell
node -v
# 12.20.1
npm -v
6.14.10
```
大功告成
这里如果网络环境还可以的话就不太推荐使用cnpm之类的镜像
直接用npm稍微等一会也能成功
补充:用npm装 裸连的话,等个10来分种也能成功,但如果用其他的装,速度是快了,但万一报个错,完了,1小时都解决不动,还容易进退两难
例如安装 `vue-cli`
```shell
npm install -g @vue/cli
# 装完试下效果
vue --version
# 正确返回
@vue/cli 4.5.10
```
## END
其他的都以此类推不再赘述,至此就大功告成了