1.在官网下载最新linux64位文件包
https://registry.npmmirror.com/binary.html?path=node/
#安装14版本
https://registry.npmmirror.com/-/binary/node/v14.16.0/node-v14.16.0-linux-x64.tar.gz
#安装16版本
https://cdn.npmmirror.com/binaries/node/v16.13.2/node-v16.13.2-linux-x64.tar.gz
2.解压
tar xf node-v16.13.2-linux-x64.tar.gz -C /data/server/node16
mv /data/server/node-v16.14.2-linux-x64 /data/server/node16 ##做软链也可以
3. 在/usr/bin 目录下建立软连接,变为全局
cd /usr/bin
ln -s /data/server/node16/bin/node node
ln -s /data/server/node16/bin/npm npm
4.安装cnpm
其实熟悉 npm 国内镜像的开发者应该知道 淘宝 NPM 镜像站早就切换新域名 ,老 npm.taobao.org 和 registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务,而 npm.taobao.org 这个网站的证书已于 2024年01月22日过期了。这也就是为啥request to https://registry.npm.taobao.org failed, reason: certificate has expired
// 1. 清空缓存
npm cache clean --force
// 2. 配置新源
npm config set registry https://registry.npmmirror.com
// 3. 查看是否设置成功
npm config list
#如果还不能解决执行,再进行安装
npm cache clean --force
npm config set strict-ssl false
##更新npm
npm install -g npm to update
安装
#切换源
npm config set registry https://registry.npmmirror.com
npm config list
npm install -g cnpm
#创建软连接
cd /usr/bin
ln -s /data/server/node16/lib/node_modules/cnpm/bin/cnpm cnpm
5.安装yarn(运行Laravel不需要这个)
npm install yarn -g
#创建软连接
ln -s /data/server/node16/lib/node_modules/yarn/bin/yarn /usr/bin/yarn
#查看yarn当前的源地址
yarn config get registry
#切换源
https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com
6.安装pnpm
npm install -g pnpm
要使用npm安装特定版本的pnpm
npm install -g pnpm@<version>
npm install -g pnpm@5.15.0
npm install -g pnpm@7
兼容性
以下列表列出了以往的 pnpm 版本和对应支持的 Node.js 版本。
Node.js | pnpm 5 | pnpm 6 | pnpm 7 | pnpm 8 | pnpm 9 |
Node.js 12 | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Node.js 14 | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Node.js 16 | ? | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 18 | ? | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 20 | ? | ? | ✔️ | ✔️ | ✔️ |
[root@ops01 bin]# pwd
/data/server/node16/bin
[root@ops01 bin]# ll
total 78436
lrwxrwxrwx 1 1001 1001 36 Apr 11 13:17 cnpm -> ../lib/node_modules/cnpm/bin/cnpm.js
lrwxrwxrwx 1 1001 1001 45 Mar 18 2022 corepack -> ../lib/node_modules/corepack/dist/corepack.js
-rwxr-xr-x 1 1001 1001 80316256 Mar 18 2022 node
lrwxrwxrwx 1 1001 1001 38 Mar 18 2022 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx 1 1001 1001 38 Mar 18 2022 npx -> ../lib/node_modules/npm/bin/npx-cli.js
lrwxrwxrwx 1 root root 37 Apr 11 13:36 pnpm -> ../lib/node_modules/pnpm/bin/pnpm.cjs
lrwxrwxrwx 1 root root 37 Apr 11 13:36 pnpx -> ../lib/node_modules/pnpm/bin/pnpx.cjs
lrwxrwxrwx 1 1001 1001 36 Apr 11 13:17 yarn -> ../lib/node_modules/yarn/bin/yarn.js
lrwxrwxrwx 1 1001 1001 36 Apr 11 13:17 yarnpkg -> ../lib/node_modules/yarn/bin/yarn.js
[root@ops01 bin]#
7.一个服务器上安装两个不同版本的nodejs
先安装一个版本的node,然后通过prefix方式指定另一个目录
npm install -g cnpm --prefix=/data/server/node16
npm install -g yarn --prefix=/data/server/node16
npm install -g pnpm@8 --prefix=/data/server/node16
-g
标志表示全局安装,这样安装的包可以在系统的任何地方使用。
--prefix
标志允许你指定一个自定义的安装前缀目录,npm将会在这个目录下安装全局包