首页 > 解决方案 > pnpm安装及查看结果(windows10)

问题描述

我一步一步地写一切。我从头到尾阅读并应用了网站上的所有页面(从介绍到高级)。

出现也可能有用,我不是专业的软件开发人员。我正在努力成为一种爱好。

当我在做一个旧项目时,我想再次尝试“pnpm”,我曾尝试过但未能使用。

使用

项目:我正在进行的项目是“Ionic-Angular”项目。当我将它与“npm”一起使用时,项目的总大小为“699 MB”。问题:安装“pnpm”并制作设置文件后,我打开项目并等待它使用“pnpm install”命令安装包。在没有任何麻烦之前就结束了。但是,该项目的总大小已经上升到“1.11 GB”。

一步一步来,至于我做了什么。

  1. 安装nodejs LTS版14.15.0 win64
  2. 运行 PowerShell(以管理员身份)。
  1. 重启电脑
  2. 安装 pnpm PowerShell
  1. 打开 WebStorm ide 并转到 Settings->Language & Frameworks->node.js and NPM->Select Package Manager,手动将其更改为 -> npm-path(因为我将“pnpm,pnpm.cmd”文件移动到了这个位置.)
  2. 测试;
  1. 然后,我使用 PowerShell 使用命令“pnpm add -E --global”将所有包安装在“devDependencies”中。它配置了它们,它没有看到任何问题。返回 WebStorm ide 并关闭 PowerShell。
  2. 打开项目并在终端写入此命令“pnpm install”
  1. 当我再次查看“项目”文件夹的大小时,我发现它已经增长太多了。
  1. 后“pnpm”项目文件夹的大小如下所示。

实际上,我认为应该是这样的。它将主包加载到一个文件夹中(例如: C:\pnpm-global ),并在其他项目中使用它们时从那里将它们添加为 symlink-junction。但是网站上有一条关于“virtual-store-dir”的说明。注意:虚拟商店不能在多个项目之间共享。每个项目都应该有自己的虚拟商店。

我安装了“pnpm”,因为我的目标是减少项目大小(连接符号链接等)。

当我想在互联网上了解有关“pnpm”的一些信息时,我也找不到任何资源。只有网站,资源非常有限。

我不认为有很多用处,但我不知道当有这么多项目用于 1 个项目时会是什么样子。

标签: node.jspnpm.npmrc

解决方案


为 Ionic/Angular 项目测试 npm 和 pnpm,结果

使用 npm

  1. 创建新的 ionic+Angular 空白项目,总文件夹大小 = 341 MB 项目大小(不含 node_modules)= 573 KB

  2. 步骤->

  • npm 安装
  • npm 审计 -> 1
  • npm 审计修复
  • 保存项目和项目文件夹新大小 = 408 MB
  • 构建
  • 服务
  • 保存项目和项目文件夹新大小 = 481 MB

使用 pnpm

  1. 创建新的 ionic+Angular 空白项目,并删除 node_module 文件夹。项目大小(不含 node_modules)= 573 KB

  2. 步骤->

  • pnpm 安装
  • pnpm 审计 -> 1
  • pnpm 没有审计修复 -> 手动安装 @angular-devkit/build-angular
  • 保存项目和项目文件夹新大小 = 375 MB
  • ng build -> 编译错误@ionic/angular
  • 删除 node_module 文件夹
  • pnpm install --dev -> 文件夹大小 316 MB
  • pnpm 安装 -> 文件夹大小 375 MB
  • ng build -> 错误离子
  • 删除项目文件夹

第二次尝试; (工作但尺寸增加)!

  • 更改默认包管理器 = pnpm
  • pnpm 添加@ionic/cli --global
  • 离子启动
  • 空白项目
  • 但安装包 npm,不使用 pnpm
  • 文件夹大小 = 408 MB
  • pnpm 安装
  • 文件夹大小 = 783 MB
  • pnpm 运行构建(运行脚本 ng 构建)
  • pnpm run start(运行脚本 ng serve)
  • 保存项目和项目文件夹新大小 = 856 MB

第三次尝试

  • 不创建离子启动命令,
  • 复制文件新文件夹(没有node_module),
  • angular.json 添加“cli.packageManager pnpm”
  • 复制 .npmrc 文件并添加“shamefully-hoist=true”行
  • pnpm 我——可耻地提升
  • 文件夹大小 = 375 MB
  • 构建
  • 服务
  • 文件夹大小 448 MB

结果适合我

  • 如果我使用“npm”,它将是 481 MB。

  • 如果我使用“pnpm”,它将是 448 MB。

  • 33 MB 的差异发生在两者之间

就像我说的,我不是专家,我只是做了自己的测试并想分享结果。

如果我用错了,有人可以像我一样一步一步地告诉我如何使用这个 pnpm 吗?


推荐阅读