Pnpm安装和查看结果windows10

如何解决Pnpm安装和查看结果windows10

我会逐步编写所有内容。我从头到尾阅读并应用了网站上的所有页面(从“简介”到“高级”)。

出现可能也很有用,我不是专家软件开发人员。我想成为一种爱好。

当我在一个旧项目上工作时,我想再次尝试“ pnpm”,这是我以前尝试过但未能使用的。

使用

  • 操作系统:Windows 10 x64
  • 编辑:WebStorm
  • 节点:14.15.0

项目: 我正在处理的项目是“离子角”项目。当我将其与“ npm”一起使用时,项目的总大小为“ 699 MB”。 问题: 安装“ pnpm”并制作设置文件之后,我打开了项目,并等待它使用“ pnpm install”命令安装软件包。一切麻烦都结束了。但是,该项目的总大小已增加到“ 1.11 GB”。

就我所做的来,一步一步地

  1. 安装nodejs LTS版本14.15.0 win64
  2. 运行PowerShell(以管理员身份)。
  • npm配置编辑

  • 更改所有路径->前缀,缓存,tmp,userconfig,globalignorefile,globalconfig。

    .npmrc文件更改列表;

    prefix=C:\Users\mhy\npm\.npm-global
    cache=C:\Users\mhy\npm\.npm-cache
    tmp=C:\Users\mhy\npm\.npm-temp
    userconfig=C:\Users\mhy\npm\.npmrc
    globalignorefile=C:\Users\mhy\npm\.npm-global\etc\npmignore
    globalconfig=C:\Users\mhy\npm\.npm-global\etc\npmrc
    store-dir=C:\Users\mhy\pnpm\.pnpm-store
    global-dir=C:\Users\mhy\pnpm\pnpm-global
    npm-path=C:\Program Files\nodejs
    
  1. 重新启动计算机
  2. 安装pnpm PowerShell
  • (调用WebRequest'https://raw.githubusercontent.com/pnpm/self-installer/master/install.js')。节点 )
  • pnpm创建%AppData%Romaning%\ npm文件夹。并剪切文件夹将新路径粘贴到所有文件。 (pnpm,pnpm.cmd,pnpx,pnpx.cmd移至npm-path [nodejs安装文件夹])
  • 根据网站上的叙述,我在“ .npmrc”文件中添加了以下路径。 加载.npmrc文件(两个相同的文件)并添加[store-dir,global-dir,npm-path->更改pnpm]路径
  1. 打开WebStorm ide并转到“设置”->“语言和框架”-> node.js和NPM->“选择程序包管理器”,将其手动更改为->“ npm-path”(因为我将“ pnpm,pnpm.cmd”文件移动了到这个位置。)
  2. 测试;
  • 运行PowerShell并命令:pnpm add @ ionic / cli -E --global “ @ ionic / cli”已安装在指定位置,没有任何问题。
  1. 然后,使用PowerShell将命令“ pnpm add -E --global”安装在“ devDependencies”中。 它全部配置好了,没有任何问题。返回WebStorm ide,然后关闭PowerShell。
  2. 打开项目并向终端写入此命令“ pnpm install”
  • pnpm好的,没问题。一切看起来都很好。
  1. 当我再次查看“ Project”文件夹的大小时,我发现它已经太大了。
  • 旧大小699 MB新大小1.11 GB
  • 仅node_module文件夹996 MB。
  1. “ pnpm”后项目文件夹的大小如下。
  • 项目文件夹= 1.11 GB

  • node_module文件夹= 996 MB

  • node_module-> .pnpm(我想是虚拟存储文件夹)437 MB

  • node_module->所有其他没有.pnpm文件夹的文件夹642 MB

  • node_module-> .ignored + .ignored_ast_types-flow,.ignored_eslint-scope .ignored_mime-types .ignoder_multicast-dns-service-types-> 244 MB

  • 以及我之前提到的创建的“ pnpm-global”和“ pnpm-store”文件夹(.npmrc文件);

  • pnpm-global-> 269 MB

  • pnpm-store-> 540 MB

    项目总大小+全局pnpm和存储= 2 GB(Windows资源管理器显示的文件夹大小为2gb) 我使用PowerShell并获取文件夹大小,列出所有传输到excel列的文件夹,并将文件夹总和= 767 MB

  • 使用npm的旧大小= 699 MB

  • 使用pnpm的新大小= 767 MB

    我使用PowerShell命令

    $ fso =新对象-com Scripting.FileSystemObject gci-目录| select @{l='Size'; e={$fso.GetFolder($_.FullName).Size}},FullName 排序大小-降序`|| ft @ {l ='大小[MB]'; e = {'{0:N2}'-f($ _。Size / 1MB)}},全名|输出文件out.txt

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

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

当我想对Internet上的“ pnpm”有所了解时,我也找不到任何资源。只有网站,资源非常有限。

我认为并没有太多用处,但是我不知道当一个项目使用了太多项目时会是什么样。

解决方法

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

使用npm

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

  2. 步骤->

  • npm安装
  • npm审核-> 1
  • npm审核修复程序
  • 保存项目和项目文件夹新大小= 408 MB
  • ng构建
  • ng服务
  • 保存项目和项目文件夹新大小= 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运行开始(运行脚本ng serve)
  • 保存项目和项目文件夹新大小= 856 MB

第三次尝试

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

结果适合我

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

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

  • 两者之间存在33 MB的差异

就像我说的那样,我不是专家,我只是做了一个自我测试,想分享结果。

如果我使用错了,有人可以像我一样一步一步告诉我有关使用此pnpm的信息吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-