前端javascript包管理,npm升級用pnpm

一? pnpm 介紹

? ? pnpm(Package Manager)是一個快速、節省磁盤空間的 JavaScript 包管理器,它是 Node.js 生態系統中 npm 的一個替代品。pnpm 解決了傳統包管理工具在處理依賴時的一些痛點,特別是關于存儲空間使用和依賴地獄的問題。以下是 pnpm 的幾個核心特點和優勢:

  1. 高效的存儲機制pnpm 引入了“內容尋址存儲”(Content-Addressable Storage, CAS)的概念,它只在本地存儲每個依賴的一個實例。這意味著,即使多個項目或同一項目中的不同依賴共享同一個依賴包,它們也不會被重復下載和存儲。這極大地節省了磁盤空間,并加快了安裝速度。

  2. 硬鏈接和符號鏈接:通過使用硬鏈接或符號鏈接(在不支持硬鏈接的平臺上),pnpm 將全局存儲中的依賴包鏈接到每個項目的 node_modules 目錄中,而不是復制文件。這種方法保留了每個項目獨立的依賴環境,同時避免了冗余。

  3. 避免依賴地獄pnpm 確保所有依賴包的精確版本被安裝,通過它的“嚴格版本控制”,有助于預防因依賴版本不一致導致的“節點_modules地獄”問題,即不同模塊間依賴沖突的情況。

  4. 與 npm 的兼容性:盡管 pnpm 提供了自己獨特的功能和改進,但它設計上盡可能與 npm 兼容,這意味著你可以無縫地從 npm 遷移到 pnpm,而不需要對 package.json 或工作流程做重大改動。

  5. 性能提升:由于減少了重復下載和存儲的需求,pnpm 的安裝速度通常比 npm 更快,尤其是在首次安裝之后的后續安裝,因為大部分依賴已經被本地存儲。

  6. 跨平臺支持pnpm 支持 Windows、macOS 和 Linux,適用于各種開發環境。

綜上所述,pnpm 通過其創新的依賴管理策略,提供了更快、更高效、更節省空間的包管理解決方案,馬上放棄npm趕緊用pnpm吧

二? npm 升級用 pnpm

? 首次使用未安裝pnpm時我們要安裝安裝pnpm

npm install -g pnpm

? 如果之前的老項目用npm安裝的,請把node_modules刪除。

用pnpm重新安裝:

pnpm install

安裝依賴,如下圖:

?

安裝完成,運行,如下圖:

?

pnpm操作與原來的npm操作都一樣,這點非常好,完全不用學拿來就用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13852.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13852.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13852.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何將Google Search Console添加到WordPress和GA4

您想知道如何將 Google Search Console 添加到您的 Google Analytics 帳戶和 WordPress 網站嗎? 作為網站主,Google Search Console 是一款不能不使用的工具。對于任何想要確保其網站在 Google 搜索結果中表現良好的人來說,這絕對是一個必不…

leetCode-hot100-數組專題之區間問題

數組專題之區間問題 知識點:解決思路:例題56.合并區間57.插入區間253.會議室 Ⅱ485.無重疊區間 數組區間問題是算法中常見的一類問題,它們通常涉及對數組中的區間進行排序、合并、插入或刪除操作。無論是合并區間、插入區間還是刪除重復空間&…

【HarmonyOS嘗鮮課】- 下載、安裝DevEco Studio以及配置環境、創建運行HarmonyOS項目

下載、安裝開發工具 進入DevEco Studio下載官網,單擊“立即下載”進入下載頁面。 這里以Windows為例進行安裝,可以根據操作系統選擇對應的版本進行下載。 下載完成后解壓一下,進入文件里,雙擊應用程序,打開安裝向導&a…

Redis主從、哨兵、集群講解

一、Redis主從 大家在面試中可能經常會被問到Redis的高可用問題。Redis高可用回答包括兩個層面,一個就是數據不能丟失,或者說盡量減少丟失 ;另外一個就是保證Redis服務不中斷 。 對于盡量減少數據丟失,可以通過AOF和RDB保證。 對于保證服務…

2024年中青杯數學建模思路+建模過程+視頻講解

A 題:人工智能視域下養老輔助系統的構建 隨著全球人口老齡化的加劇,養老問題已經成為一個世界性的社會問題。它不僅 關系到每個家庭、每個個體的未來福祉,也關系到國家的社會穩定和可持續發展。根 據聯合國的相關數據顯示,全球 65…

linux---線程控制

線程和進程 以前我們要同時跑多個程序,可以通過fork()多個子進程,然后通過系統函數進行程序的替換,但是創建進程代價大,不僅要拷貝一份父進程的地址空間,頁表,文件表述符表等。但是線程不需要因為是進程的…

搜索引擎新特性與未來展望

多元化大模型支持: 本搜索引擎具備卓越的兼容性和靈活性,支持多種大模型(LLMs)。無論是本地部署的llama3、gemma、mistral等模型,還是云服務提供的OpenAI/gpt4-o、Groq/Llama3等,都能輕松接入,為用戶提供豐富的智能搜索體驗。現代化技術棧構建: 項目采用業界領先的Next…

windows docker desktop 更換鏡像存儲目錄

windows docker desktop 更換鏡像存儲目錄 方法:如圖,Browse瀏覽一個新的目錄并選中,確定后,程序會開始stop,在stop完成前,會持續遷移原有鏡像到新的位置,你會發現目標位置的磁盤占用空間越來越…

Mac網線連接windows本【局域網互傳文件】

Mac網線連接windows本【局域網互傳文件】 兩臺電腦網線互聯 Mac->網絡->USP TCP/IP 手動配置IP,子網掩碼,路由器 windows 網絡和Internet配置->更改適配器選項->以太網->Internet協議版本4(TCP/IPv4)->屬性 …

K8S/ hpa分享

在 Kubernetes 中,HorizontalPodAutoscaler 自動更新工作負載資源 (例如 Deployment 或者 StatefulSet), 目的是自動擴縮工作負載以滿足需求。 hpa的使用本身還是很簡單的 示例如下: 官網示例 apiVersion: apps/v1 k…

NetCore發布的時候怎么去除生成的多余的語言文件夾cs,de...,Microsoft.CodeAnalysis語言資源文件

1、問題: .NetCore 3.1 發布出來的publish目錄一大堆雜七雜八的文件夾如下圖: 2、產生原因 由Microsoft.VisualStudio.Web.CodeGeneration.Design包導致 3、解決方法: 如果確實需要某種語言資源文件,可以這樣,右鍵編…

壓擺率SR、增益帶寬積GBP、開環增益Aol

運放的選型對運放電路的實際效果非常關鍵,一定要理解運放重要參數的概念。下面幾天將對運放的選型進行系統學習并做實驗 運放的壓擺率(Slew Rate,簡稱SR)是指閉環放大器在輸入為階躍信號時,輸出電壓時間變化率的平均值…

vue打包部署到springboot,通過tomcat運行

tomcat默認端口 8080springboot端口 9132vue 端口 9131 框架 項目是基于SpringBootVue前后端分離的倉庫管理系統 后端:SpringBoot MybatisPlus前端:Node.js Vue element-ui數據庫:mysql 一. 打包Vue項目 cmd中輸入命令 npm run build 后…

深度學習之基于YoloV5-Deepsort人物識別與追蹤項目

歡迎大家點贊、收藏、關注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與目標 本項目旨在利用深度學習技術,結合YoloV5和Deepsort算法,開發一個高效、…

前端:音頻可視化(H5+js版本)

一、效果展示 HTML5JS實現一個簡單的音頻可視化 二、代碼 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>音頻可視化</title><style></style></head><body><divs…

非平穩信號的傅里葉變換與短時傅里葉變換

一、仿真一個非平穩的時間序列。 N 10000; t 0:N-1; z1 4.2*sin(2*pi/20.*t5); z2 2.2*sin(2*pi/100.*(10.001*t).*t8); w1 randn(length(t),1); yz1z2w1; figure;plot(y,LineWidth,1.5);grid on; ylabel(Signal); xlabel(Time); 二、傅里葉變換&#xff08;FFT&#xff…

教育智能化的歷史及發展趨勢

1. 教育智能化概述 1.1 定義與背景 教育智能化是指利用人工智能、大數據、云計算等現代信息技術&#xff0c;對教育過程進行智能化改造&#xff0c;提升教育質量與效率。隨著技術進步&#xff0c;教育智能化已成為全球教育改革的重要趨勢。 教育智能化的背景可以追溯到20世紀…

Llama 3超級課堂作業筆記

文章目錄 基礎作業完成 Llama 3 Web Demo 部署環境配置下載模型Web Demo 部署對話截圖 使用 XTuner 完成小助手認知微調Web Demo 部署自我認知訓練數據集準備訓練模型推理驗證 使用 LMDeploy 成功部署 Llama 3 模型環境&#xff0c;模型準備LMDeploy CLI chatLMDeploy模型量化(…

SQL Server 2022安裝+SQL Server最新補丁+smss工具連接超詳細教程

文章目錄 一、SQL Server 2022安裝二、SSMS的安裝與連接三、最新補丁下載總結 一、SQL Server 2022安裝 官網下載安裝包&#xff1a;https://www.microsoft.com/en-us/sql-server/sql-server-downloads 打開 選擇自定義 更改你要安裝到的位置后進行安裝 安裝程序包下載完后會自…

將本地項目代碼上傳到別人GitHub的遠程分支上流程記錄

首先將別人的項目克隆到本地&#xff1a; git clone 項目地址 然后cd進項目中&#xff0c;查看分支名稱&#xff1a; git branch git branch -a 切換分支&#xff1a; git checkout 遠程分支名 &#xff08;必須與所要提交代碼的遠程分支同名&#xff09; 截圖案例&#xff1…