react中安裝依賴時的問題 【集合】

目錄

?依賴升級/更新

1、?npm install @ --save-dev 與??npm install @ 的區別

1. ?安裝位置(依賴類型)?

2. ?package.json?中的區別?

3. ?示例

4. ?何時使用哪種方式?

? 2、npm install @ 和? yarn add @ 有什么不一樣嗎

?命令語法?:

?鎖文件?:

?安裝速度?:

?依賴解析?:

?輸出信息?:

?清理緩存?:

3、?安裝依賴時,顯示There appears to be trouble with your network connection.

?4、 src/?package.json?中的依賴?版本與?node_modules包中?中的版本不一致

方法 1: 使用?yarn add?命令

方法 2: 手動編輯?package.json

驗證更改

注意事項

5、依賴版本鎖定

npm 鎖定版本方式


?依賴升級/更新

// @edsp/apollo-formy依賴本來3.0.0 現在升級到 4.0.0 npm install @edsp/apollo-form@4.0.0
// 或者
yarn add @edsp/apollo-form@4.0.0

1、?npm install <package-name>@<version>?--save-dev 與??npm install <package-name>@<version> 的區別

比如 npm install @edsp/apollo-form@4.0.0 --save-dev?和?npm install @edsp/apollo-form@4.0.0?的主要區別在于包的安裝位置(即依賴類型),而不是包本身或版本。以下是具體分析:

1. ?安裝位置(依賴類型)?
  • ?--save-dev?:
    • 將包安裝為開發依賴devDependencies)。
    • 開發依賴是僅在開發過程中需要的包,例如構建工具、測試框架等。
    • 這些依賴不會在生產環境中使用。
  • ?不帶?--save-dev?:
    • 將包安裝為生產依賴dependencies)。
    • 生產依賴是應用程序在生產環境中運行時需要的包。
2. ?package.json?中的區別?
  • 使用?--save-dev?時,包會被添加到?package.json?文件的?devDependencies?部分。
  • 不使用?--save-dev?時,包會被添加到?package.json?文件的?dependencies?部分。
3. ?示例

3.1? 使用?--save-dev

{"devDependencies": {"@edsp/apollo-form": "4.0.0"}
}

3.2? 不使用?--save-dev

{"dependencies": {"@edsp/apollo-form": "4.0.0"}
}
4. ?何時使用哪種方式?
  • ?使用?--save-dev?:
    • 當你只需要在開發環境中使用該包時,例如構建工具(如 Webpack、esbuild)、測試框架(如 Jest、Mocha)等。
  • ?不使用?--save-dev?:
    • 當你需要在生產環境中使用該包時,例如應用程序的核心功能依賴。

? 2、npm install <package-name>@<version>? 和? yarn add <package-name>@<version>?有什么不一樣嗎

?比如? ?npm install @edsp/apollo-form@4.0.0? 和 yarn add @edsp/apollo-form@4.0.0有什么不一樣嗎

npm install?和?yarn add?是兩種常用的包管理工具命令,用于安裝 Node.js 項目中的依賴包。雖然它們的功能相似,但在一些細節上有所不同。以下是它們之間的主要區別:

  1. ?命令語法?:
    • npm install <package-name>@<version> :使用 npm 安裝指定版本的包,并將其添加到?dependencies中。
    • yarn add <package-name>@<version>:使用 yarn 安裝指定版本的包。默認情況下,yarn 會根據上下文將包添加到?dependencies?或?devDependencies?中。如果當前目錄有?package.json?文件,yarn 會根據文件中的?scripts?和其他配置自動判斷。
  2. ?鎖文件?:
    • npm 使用?package-lock.json?文件來鎖定依賴的版本。
    • yarn 使用?yarn.lock?文件來鎖定依賴的版本。
  3. ?安裝速度?:
    yarn 通常比 npm 更快,因為它并行安裝依賴,而 npm 則是順序安裝。
  4. ?依賴解析?:
    npm 和 yarn 在解析依賴時可能會有不同的行為,尤其是在處理依賴沖突時。
  5. ?輸出信息?:
    npm 和 yarn 的輸出信息格式不同,yarn 的輸出通常更簡潔和易于閱讀。
  6. ?清理緩存?:
  • 對于 npm:npm cache clean --force
  • 對于 yarn:yarn cache clean

?嘗試使用不同的包管理工具?:如果 npm 遇到問題,可以嘗試使用 yarn,反之亦然。

3、?安裝依賴時,顯示There appears to be trouble with your network connection.

網絡超時了,增加網絡超時時間,使用?--network-timeout

例如:??

// yarn add <package-name> --network-timeout 100000? ? ? 100000=100毫秒? yarn add @edsp/apollo-form@4.0.0 --network-timeout 100000

?4、 src/?package.json?中的依賴?版本與?node_modules包中?中的版本不一致

?比如 src/?package.json?中的?@edsp/apollo-form?版本與?node_modules/@edsp/?package.json?中的版本不一致,你可以通過以下步驟來更新?

src/package.json?中的版本:

(node_modules/@edsp/?package.json?中的版本變了,說明下載的@edsp/apollo-form成功了)

方法 1: 使用?yarn add?命令
  1. ?直接更新版本?:
    使用?yarn add?命令來指定你想要的版本。這將更新?package.json?中的版本,并重新安裝該包。

    yarn add @edsp/apollo-form@4.0.0
    

    這條命令會將?@edsp/apollo-form?的版本更新為?4.0.0,并在?package.json?的?dependencies?中反映出來。

方法 2: 手動編輯?package.json
  1. ?打開?package.json?文件?:
    使用文本編輯器打開項目根目錄下的?package.json?文件。

  2. ?找到并修改版本?:
    在?dependencies?部分找到?@edsp/apollo-form,然后將其版本更改為所需的版本(例如?4.0.0)。

    "dependencies": { "@edsp/apollo-form": "4.0.0", // 其他依賴項 
    }

  3. ?重新安裝依賴?:
    保存?package.json?文件后,運行以下命令以重新安裝所有依賴項,這將確保?node_modules?中的包與?package.json?中的版本一致。

    yarn install

驗證更改
  • ?檢查?package.json?:
    確保?package.json?中的版本已經更新為你指定的版本。

  • ?檢查?node_modules?:
    你可以檢查?node_modules/@edsp/apollo-form/package.json?文件中的?version?字段,以確認安裝的版本是否正確。

注意事項
  • ?版本兼容性?:
    在更改版本之前,確保新版本的包與你的項目兼容。查看包的更新日志或文檔以了解可能的變更。

  • ?清理緩存?:
    如果遇到安裝問題,可以嘗試清理 Yarn 緩存:

    yarn cache clean

    通過這些步驟,你可以確保?package.json?和?node_modules?中的?@edsp/apollo-form?版本一致。

5、依賴版本鎖定

?當安裝依賴時,報下面依賴版本的錯誤時,可以根據項目需要的版本進行鎖定,表格鎖定版本不一定使用你的項目,供參考給出的示例

依賴名稱需鎖定版本備注
@ctrl/tinycolor3.6.0
@adobe/css-tools4.2.0
babel-plugin-transform-jsx-condition0.1.2
axe-core4.6.3
iterator.prototype1.1.1
dompurify3.0.5
jackspeak2.3.3
domain-browser4.22.0
loglevel1.8.1
terser4.8.1使用 webpack v4 等項目鎖定該版本
5.29.2使用 webpack v5 等項目鎖定該版本
vite2.9.17vite@2.x 鎖定該版本
@use-gesture/core10.3.0
@finclip/clender-compile1.0.36
uglify-js3.17.4
engine.io-client3.5.3

1. 鎖定版本:

????????package.json文件中增加resolutions配置

????????

"resolutions": {"@ant-design/icons-svg": "4.2.1"
}

2. 組件市場組件模板鎖定terser方式如下

????????package.json文件中增加resolutions配置

????????

"resolutions": {"react-styleguidist-jfrog/terser-webpack-plugin/terser": "5.29.2"
}// 或"resolutions": {"@cmbc/react-styleguidist/terser-webpack-plugin/terser": "5.29.2"
}

根據模板中使用的是react-styleguidist-jfrog或@cmbc/react-styleguidist進行選擇使用

3. 安裝依賴方式

resolutions為yarn配置,所以需使用yarn安裝依賴(如果項目中存在yarn.lock文件,先刪除再安裝依賴)。如項目特殊情況必須使用npm安裝依賴,請將上述依賴鎖定在dependencies配置下,鎖定方式同resolutions配置。

4. 如果依賴安裝報node版本錯誤,例如下圖,請執行 yarn --ignore-engines 命令安裝依賴

npm 鎖定版本方式

在?package.json?中配置?overrides?字段(注:需npm 8及以上版本),示例(只是示例具體配置根據項目實際情況來):

"overrides": {"vite": "2.9.17","@webassemblyjs/ast": "1.11.6","@webassemblyjs/wasm-parser": "1.11.6","terser-webpack-plugin": {"terser": "5.29.2"},"html-minifier-terser": {"terser": "5.29.2"}
}

將項目中所有 vite、@webassemblyjs/ast、@webassemblyjs/wasm-parser 安裝為指定版本,terser-webpack-plugin 和 html-minifier-terser 所依賴的 terser 版本指定為 5.29.2,其余 terser 版本不受影響。

?注意?:由于?overrides?字段需要 npm 8 以上版本,但 pset npm 版本為 6.x,可將本地 npm 版本升級為 8.x 安裝成功的?package-lock.json?進行提交,同時 pset 上使用 npm 構建,可使 pset 達到鎖定版本的目的。

?

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

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

相關文章

Coze 實戰教程 | 10 分鐘打造你的AI 助手

> 文章中的 xxx 自行替換&#xff0c;文章被屏蔽了。 &#x1f4f1; 想讓你的xxx具備 AI 對話能力&#xff1f;本篇將手把手教你&#xff0c;如何用 Coze 平臺快速構建一個能與用戶自然交流、自動回復提問的 xxx助手&#xff0c;零代碼、超高效&#xff01; &#x1f4cc;…

【Spring Cloud Gateway】Nacos整合遇坑記:503 Service Unavailable

一、場景重現 最近在公司進行微服務架構升級&#xff0c;將原有的 Spring Cloud Hoxton 版本升級到最新的 2021.x 版本&#xff0c;同時使用 Nacos 作為服務注冊中心和配置中心。在完成基礎框架搭建后&#xff0c;我使用 Spring Cloud Gateway 作為API 網關&#xff0c;通過 N…

寶塔面板屏蔽垃圾搜索引擎蜘蛛和掃描工具的辦法

首先進入寶塔面板&#xff0c;文件管理進入/www/server/nginx/conf目錄&#xff0c;新建空白文件kill_bot.conf。然后將以下代碼保存到當前文件中。 #禁止垃圾搜索引擎蜘蛛抓取if ($http_user_agent ~* "CheckMarkNetwork|Synapse|Nimbostratus-Bot|Dark|scraper|LMAO|Ha…

Docker拉取鏡像報錯Error response from daemon: Get “https://registry-1.docker.io/v2/“

記一次Docker拉取鏡像的報錯 使用docker拉取鏡像時&#xff0c;出現報錯 [rootcentos8 ~]# sudo docker pull mysql:8.0 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.T…

Ansible模塊——文件內容修改

修改文件單行內容 ansible.builtin.lineinfile 可以按行修改文件內容&#xff0c;一次修改一行&#xff0c;支持正則表達式。 選項名 類型 默認值 描述 attributesstrnull 設置目標文件的 Linux 文件系統屬性&#xff08;attribute bits&#xff09;&#xff0c;作用類似于…

如何用PDO實現安全的數據庫操作:避免SQL注入

如何用PDO實現安全的數據庫操作&#xff1a;避免SQL注入 在現代Web應用程序中&#xff0c;數據庫操作是核心功能之一。然而&#xff0c;SQL注入是一種常見的安全漏洞&#xff0c;攻擊者可以通過惡意輸入來操控數據庫&#xff0c;從而獲取敏感信息或破壞數據。使用PHP的PDO&…

使用大語言模型從零構建知識圖譜(中)

從零到一&#xff1a;大語言模型在知識圖譜構建中的實操指南 ©作者|Ninja Geek 來源|神州問學 還沒有看過上篇的讀者可以閱讀《使用大語言模型從零構建知識圖譜&#xff08;上&#xff09;》了解整個系列的內容 通過創建一個自定義流程來自動上傳業務數據 在這一節&#…

pycharm連接github(詳細步驟)

【前提&#xff1a;菜鳥學習的記錄過程&#xff0c;如果有不足之處&#xff0c;還請各位大佬大神們指教&#xff08;感謝&#xff09;】 1.先安裝git 沒有安裝git的小伙伴&#xff0c;看上一篇安裝git的文章。 安裝git&#xff0c;2.49.0版本-CSDN博客 打開cmd&#xff08;…

uniapp在APP上如何使用websocket--詳解

UniApp 在 APP 端如何使用 WebSocket以及常見問題 一、WebSocket 基礎概念 WebSocket 是一種在單個TCP連接上進行全雙工通信的協議&#xff0c;適用于實時數據傳輸場景&#xff08;如聊天室、實時游戲、股票行情等&#xff09;。 與傳統HTTP對比 特性WebSocketHTTP連接方式…

物聯網賦能7×24H無人值守共享自習室系統設計與實踐!

隨著"全民學習"浪潮的興起&#xff0c;共享自習室市場也欣欣向榮&#xff0c;今天就帶大家了解下在物聯網的加持下&#xff0c;無人共享自習室系統的設計與實際方法。 一、物聯網系統整體架構 1.1 系統分層設計 層級技術組成核心功能用戶端微信小程序/H5預約選座、…

【Linux】ELF與動靜態庫的“暗黑兵法”:程序是如何跑起來的?

目錄 一、什么是庫&#xff1f; 1. C標準庫&#xff08;libc&#xff09; 2. C標準庫&#xff08;libstdc&#xff09; 二、靜態庫 1. 靜態庫的生成 2. 靜態庫的使用 三、動態庫 1. 動態庫的生成 2. 動態庫的使用 3. 庫運行的搜索路徑。 &#xff08;1&#xff09;原因…

滲透測試流程-中篇

#作者&#xff1a;允砸兒 #日期&#xff1a;乙巳青蛇年 四月廿一&#xff08;2025年5月18日&#xff09; 今天筆者帶大家繼續學習&#xff0c;網安的知識比較雜且知識面很廣&#xff0c;這一部分會介紹很多需要使用的工具。會用各種工具是做網安的基礎&#xff0c;ok咱們繼續…

[創業之路-358]:從歷史輪回到制度躍遷:中國共產黨創業模式的超越性密碼

人類文明的演進如同一條螺旋上升的階梯&#xff0c;從原始社會的公有制到資本主義私有制的巔峰&#xff0c;再到社會主義對公有制的重構&#xff0c;每一次制度迭代都伴隨著對前序文明的揚棄。中國共產黨自誕生之日起&#xff0c;便以“為人類求解放”為使命&#xff0c;在革命…

NLP基礎

目錄 一、NLP 概述和應用 &#xff08;一&#xff09;NLP 的定義與演進歷程 &#xff08;二&#xff09;NLP 的多元應用領域 二、文本預處理技術 &#xff08;一&#xff09;文本獲取與編碼轉換 &#xff08;二&#xff09;文本清洗&#xff1a;去除雜質的精細打磨 &…

【數據結構與算法】ArrayList 與順序表的實現

目錄 一、List 接口 1.1 List 接口的簡單介紹 1.1 常用方法 二、順序表 2.1 線性表的介紹 2.2 順序表的介紹 2.3 順序表的實現 2.3.1 前置條件:自定義異常 2.3.2 順序表的初始化 2.3.2 順序表的實現 三、ArrayList 實現類 3.1 ArrayList 的兩種使用方式 3.2 Array…

Linux518 YUM源倉庫回顧(需查)ssh 服務配置回顧 特定任務配置回顧

計劃配倉庫YUM源 為什么我在/soft文件夾下 使用yum install --downloadonly --downloaddir /soft samba 為什么文件夾下看不到samba文件 exiting because “Download Only” specified 計劃過 計劃配SSH 參考 ok了 計劃配置特定任務解決方案 code: 兩端先配好網絡 測試好s…

如何完美安裝GPU版本的torch、torchvision----解決torch安裝慢 無法安裝 需要翻墻安裝 安裝的是GPU版本但無法使用的GPU的錯誤

聲明&#xff1a; 本視頻靈感來自b站 如何解決所述問題 如何安裝對應版本的torch、torchvison 進入pytorch官網 進入歷史版本 這里以cuda11.8 torch 2.1.0為例演示 根據文檔找到要安裝的torch、torchvison版本 但不是使用命令行直接安裝 命令行直接安裝可能面臨著 安裝慢…

【iOS(swift)筆記-9】WKWebView無法訪問網絡

對于iOS 在info中添加App Transport Security Settings&#xff0c;然后在App Transport Security Settings里添加Allow Arbitrary Loadstrue 對于macOS 除了上面的操作&#xff0c;還需在項目信息的App Sandbox里有個Network打鉤選項

buck變換器的simulink/matlab仿真和python參數設計

什么是Buck電路? BUCK電路是一種降壓斬波器&#xff0c;降壓變換器輸出電壓平均值Uo總是小于輸出電壓UD。通常電感中的電流是否連續&#xff0c;取決于開關頻率、濾波電感L和電容C的數值。BUCK也是DC-DC基本拓撲&#xff0c;或者稱為電路結構&#xff0c;是最基本的DC-DC電路…

給個人程序加上MCP翅膀

背景 最近MCP這個詞真是到處都是&#xff0c;看起來特別高大上。我平時沒事的時候也一直在關注這方面的技術&#xff0c;知道它是怎么一回事&#xff0c;也懂該怎么去實現。但可惜一直抽不出時間來自己動手搞一個MCP服務。網上關于MCP的教程一搜一大把&#xff0c;但基本上都是…