pnpm 安装和使用

1. 简介

Fast, disk space efficient package manager:

  • Fast. Up to 2x faster than the alternatives (see benchmark).
  • Efficient. Files inside node_modules are linked from a single content-addressable storage.
  • Great for monorepos.
  • Strict. A package can access only dependencies that are specified in its package.json.
  • Deterministic. Has a lockfile called pnpm-lock.yaml.
  • Works as a Node.js version manager. See pnpm env use.
  • Works everywhere. Supports Windows, Linux, and macOS.
  • Battle-tested. Used in production by teams of all sizes since 2016.
  • See the full feature comparison with npm and Yarn.

作用:

  1. 自由切换node版本,当多个项目对node版本依赖不同时,相当于nvm
  2. 节省 磁盘空间,开发过程中,项目目录下的 node_modules 文件其实是个类似于快捷方式的东西,它会集中管理npm包,不必每个项目都下载一遍npm包依赖
  3. 我是菜鸡,我没有用到其他niubility的功能

2. 下载

  • github : Release - pnpm/pnpm
    下载后得到 pnpm-win-x64.exe,将其重命名为 pnpm.exe,这一步主要是便于使用,不然以后使用pnpm时必须写 pnpm-win-x64

3. 配置

下载得到的文件,即为可执行文件,不是安装包,所以不用安装,只需要剪切到自己想安装的文件夹中即可

3.1 初始化

在cmd 或 powershell执行:

pnpm setup

我当初没有重命名为pnpm.exe,后期又重新命名了,下图仅参考:
image
如果前期没有做任何配置,那么该命令作用是 复制下载的exe到C盘的C:\Users\[用户名]\AppData\Local\pnpm\文件夹中,然后起了一个叫 PNPM_HOME的环境变量,然后把PNPM_HOME的环境变量放到Path下,作用就是能在cmd或powershell中能直接使用pnpm来指定pnpm.exe(具体路径省略)。
!!!IMPORTANT : 该命令生成的环境变量全放在用户变量下面,而不是系统变量,如果有需要,自己在系统变量下手动搞一次,但是我推荐使用用户变量
!!! NOTICE: 记得把 C:\Users\[用户名]\AppData\Local\pnpm\文件夹里所有内容复制到你想放的文件夹中

3.2 配置环境变量

  • PNPM_HOME
    这个环境变量值为 pnpm.exe 所在的文件夹,我的放在 E:\pnpm\,默认位置在 C:\Users\[用户名]\AppData\Local\pnpm\文件夹
    image

3.2 配置pnpm

根据自己需要的位置进行修改路径,这些路径都是pnpm以后下载包的文件夹,以及相关缓存的文件夹,最后一个是npm的镜像(当前为淘宝)
这块我不会了,我想用 E:\pnpm\config\rc 这个配置文件,但是似乎不行,现在我的如下:

  • "C:\Users[用户名].npmrc"
globalconfig=E:\pnpm\config\rc
prefix=E:\nodejs-repository\node_global
cache=E:\nodejs-repository\node_cache
registry=https://registry.npmmirror.com
  • "C:\Users[用户名]\AppData\Local\pnpm\config\rc"
bin-dir=E:\pnpm\bin
global-dir=E:\pnpm\global
store-dir=E:\pnpm\cache
registry=https://registry.npmmirror.com
  • "E:\pnpm\config\rc"
bin-dir=E:\pnpm\bin
global-dir=E:\pnpm\global
store-dir=E:\pnpm\cache
registry=https://registry.npmmirror.com

是的,我把两个rc文件整一样了。现在效果:pnpm下载的npm包不在C盘了,在E盘,虽然没有把 rc 文件也整到E盘,但是 rc 文件才1kB

4. 使用

  1. 安装node
    pnpm env add --global 【node版本号】,如:
pnpm env add --global 16.15
# 安装最新长期支持版
pnpm env add --global lts
# 安装最新长期版
pnpm env add --global latest
  1. 指定/切换本地node
    pnpm env use --global 【node版本号】,如果pnpm发现本地没有该版本,将会下载并应用,如:
pnpm env use --global 16.15
# 安装最新长期支持版
pnpm env use --global lts
# 安装最新长期版
pnpm env use --global latest

image

  1. 下载npm包可以使用pnpm install ,也可以使用npm,毕竟node带有npm

附:

  1. AI生成的命令图
    image
  2. 文件夹内容
    image
    好像是省去了配置node的步骤

__EOF__

本文作者echo_lovely
本文链接https://www.cnblogs.com/echo-lovely/p/18734272.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   echo_lovely  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示