npm

nvm

切换不同 node 版本.安装之前建议删除之前的 node 版本.

删除之前 node

打开 /usr/local/lib,删除 node 和 node_modules 相关的文件和文件夹
打开 /usr/local/include,删除 node 和 node_modules 相关的文件和文件夹
如果你是使用的 brew install node 安装的 NodeJS,那么你还需要在终端中执行 brew uninstall node 命令来卸载
检查你的个人主文件夹下面的所有的 local、lib 以及 include 文件夹,并且删除所有与 node 和 node_modules 相关的文件以及文件夹
打开 /usr/local/bin 并删除 node 可执行文件

1
2
3
4
5
6
7
8
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

安装 nvm

mac 安装: $ brew install nvm
命令安装:

1
2
3
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安装的时候可以需要配置解释器,按照当时反馈的描述写就行.

1
2
3
4
5
6

# 创建 zsh 配置文件,一遍安装了zsh就不用创建
$ touch ~/.zshrc

# 编辑配置文件
$ vim ~/.zshrc

比如:

1
2
3
4
5
6
7
8
# 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
$ source ~/.zshrc

安装 node

列出所有远程版本$ nvm ls-remote
显示当前版本$ nvm current
列出所有已安装版本$ nvm ls
切换指定版本 node

1
2
3
4
5
// 临时版本 - 只在当前窗口生效指定版本
$ nvm use <version>

// 永久版本 - 所有窗口生效指定版本
$ nvm alias default <version>

注意:在任意一个命令行窗口进行切换之后,其他的窗口或其他命令行工具窗口 需要关掉工具,重启才能生效。(例如 VSCode 内或外部命令切换之后,需要重启 VSCode,才能正常生效,否则或处于 临时生效状态,也就是在 VSCode 中重新打开一个命令行查看版本还会是旧版本,所以必须要重启。)
这里的 重启 不是简单的关掉窗口重启,没有退出后台进程,而是完全退出杀死工具进程,重新启动。

本来用 nvm use <版本号> 切换到需要的版本号上,然后用 npm install -g taro 安装是没问题的,但切换了其它命令行后,发现 taro 提示 command not found 。后来细查之后才发现,nvm use <版本号> 只是在当前命令行环境下切换,并不是全局切换。如果想要全局切换,要用 nvm alias default <版本号>

pnpm

全局安装

1
2
3
npm install -g pnpm
// brew
brew install pnpm

注意

如果要全局安装其他,比如 typescript,还是用 npm,不然和上面 nvm 有冲突.

用法

命令 含义
pnpm add sax 保存到 dependencies 配置项下
pnpm add -D sax 保存到 devDependencies 配置项下
pnpm add -O sax 保存到 optionalDependencies 配置项下
pnpm add -g sax 安装软件包到全局环境中
pnpm add sax@next 安装标记为 next 的版本
pnpm add sax@3.0.0 安装指定版本 3.0.0