為什么package.json里的npm和npm -v版本不一致?

這個情況出現是因為package.json里的 npm 版本和系統實際使用的 npm 版本是兩個不同的概念。讓我來解釋一下:

原因解釋

  1. 全局 npm vs 項目依賴
  • npm -v顯示的是系統全局安裝的 npm 版本(位于/usr/bin/npm或類似路徑)
  • package.json里的 npm 版本是作為項目依賴安裝的,僅在該項目內可用
  1. 安裝位置不同
  • 全局安裝的 npm 通常在系統路徑中(如/usr/bin/npm
  • 項目依賴的 npm 在項目的node_modules/.bin/npm目錄下
  1. 可能的混淆情況
  • 您可能運行了npm install npm@11.2.0(本地安裝)而不是npm install -g npm@11.2.0(全局安裝)
  • 或者全局安裝成功了,但系統仍然使用原來的 npm 路徑

解決方案

1. 檢查 package.json

首先,檢查您的 package.json 是否有 npm 作為依賴:

grep npm package.json  
# 或  
cat package.json | grep npm  

如果 npm 出現在dependenciesdevDependencies中,說明它是作為項目依賴安裝的。

2. 確認全局安裝

重新嘗試全局安裝,確保使用-g參數:

npm install -g npm@11.2.0  

3. 檢查 npm 路徑

# 查看系統使用的 npm 路徑  
which npm  # 查看 npm 實際鏈接到哪里  
ls -la $(which npm)  

4. 修正路徑問題

如果發現問題是路徑相關的:

# 如果 npm 全局安裝在 /usr/local/bin/npm,但系統仍使用 /usr/bin/npm  
sudo ln -sf /usr/local/bin/npm /usr/bin/npm  # 或者修改 PATH 環境變量確保正確的 npm 路徑在前面  
echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc  
source ~/.bashrc  

5. 使用本地安裝的 npm(臨時解決方案)

如果只需要在當前項目中使用新版 npm:

# 如果已在 package.json 中有 npm  
npx npm -v  # 這會使用項目中安裝的 npm 版本  

6. Node.js 自動附帶的 npm

請注意,每個 Node.js 版本通常都帶有特定版本的 npm。如果您使用的是 Node 16.14.0,它默認帶有 npm 8.x。如果要使用更新版本的 npm,可能需要每次啟動時明確指定路徑,或考慮升級 Node.js。

最徹底的解決方案
使用 NVM 升級整個 Node.js 環境(包括 npm):

# 安裝 NVM  
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash  
source ~/.bashrc  # 或相應的配置文件  # 安裝最新的 LTS 版本 Node.js(自動包含最新 npm)  
nvm install --lts  

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

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

相關文章

python系統之綜合案例:用python打造智能詩詞生成助手

不為失敗找理由,只為成功找方法。所有的不甘,因為還心存夢想,所以在你放棄之前,好好拼一把,只怕心老,不怕路長。 python系列之綜合案例 前言一、項目描述二、項目需求三、 項目實現1、開發準備2、代碼實現 …

Java常用工具算法-1--哈希算法(MD5,SHA家族,SHA-256,BLAKE2)

1、概述 哈希算法(Hash Algorithm),又稱散列算法,是一種將任意長度的輸入數據(明文)轉換為固定長度的輸出(哈希值/摘要)的數學算法。 哈希值通常被稱為摘要(Digest&…

OpenMCU(五):STM32F103時鐘樹初始化分析

概述 本文主要描述了STM32F103初始化過程系統時鐘的初始化,主要描述了系統時鐘的初始化,AHB總線時鐘,APB總線時鐘等的初始化。 硬件板卡3d圖 時鐘樹 STM32F103的時鐘樹,如下所示: 時鐘源選擇 從STM32F103的時鐘樹框圖,我們可以…

【qt】文件類(QFile)

很高興你能看到這篇文章,同時我的語雀文檔也更新了許多嵌入式系列的學習筆記希望能幫到你 : https://www.yuque.com/alive-m4b9n 目錄 QFile 主要功能QFile 操作步驟QFile 其他常用函數案例分析及實現功能一實現:打開文件并顯示功能二實現:另…

基于AT89C52單片機的輪胎壓力監測系統

點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/90545655?spm1001.2014.3001.5503 功能介紹: 采用MPX4115壓力傳感器進行輪胎壓力檢測;使用LCD液晶顯示器顯示輪胎壓力;若壓力過…

shell腳本--MySQL簡單調用

實現功能 增 數據庫的創建,數據表的創建已經實現 創建用戶 刪 刪除數據庫, 刪除庫下的某個表, 刪除某個用戶 改 暫無 查 查看所有的數據庫, 查看某個庫下的所有數據表, 查看某個表的結構, 查…

計算機網絡 OSI參考模型

目錄 OSS七層 OSI通信過程1 OSI通信過程2 應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層 OSS七層 OSI通信過程1 OSI通信過程2 應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層

2025年華為HCIP題庫分享

1101、 【拖拽題】OPSF鄰接關系建立的過程中需要使用不同的報文,那么請分別將以下各個狀態和該狀態使用的報文聯系起來。 答題格式為:11 22 33 43 正確答案:【12】【21】【24】【33】 解析: 建立鄰居關系 RouterA的一個連接到廣…

DIskgenius使用說明

文章目錄 一、概述1. 軟件簡介2. 系統要求 二、核心功能1. 分區管理(1) 查看磁盤分區(2) 創建與刪除分區(3) 調整分區大小(4) 格式化分區 2. 數據恢復(1) 恢復已刪除文件(2) 恢復丟失分區(3) 恢復誤格式化分區 3. 磁盤復制(1) 克隆磁盤(2) 磁盤鏡像 4. 文件操作(1) 文件復制與移…

linux--------------進程控制(上)

1.進程創建 1.1fork函數初識 在linux中fork函數是?常重要的函數&#xff0c;它從已存在進程中創建?個新進程。新進程為?進程&#xff0c;?原進 程為?進程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;?進程中返回0&#xff0c;?進程返回?進程id…

windows免密SSH連接 ubuntu教程

文章目錄 前情提要step1. 在windows下生成SSH密鑰step2. SSH公鑰copy到ubuntu的~/.ssh/authorized_keys內step3. 修改文件權限&#xff08;這一步完成后就可以實現免密SSH連接了&#xff09; 前情提要 ubuntu下安裝SSH服務 sudo apt-get install openssh-serverwindows下安裝…

中級:數組算法面試題全解析

一、引言 在Java面試中&#xff0c;數組相關的算法題是考察候選人基礎算法能力的常見類型。面試官通過這些問題了解候選人在面對具體問題時的邏輯思維和代碼實現能力。本文將深入剖析常見的數組算法面試題&#xff0c;結合實際開發場景&#xff0c;幫助讀者全面掌握這些知識點…

《Linux運維實戰:Ubuntu 22.04配置pam實現密碼復雜度策略》

總結&#xff1a;整理不易&#xff0c;如果對你有幫助&#xff0c;可否點贊關注一下&#xff1f; 更多詳細內容請參考&#xff1a;Linux運維實戰總結 一、背景信息 由于安全方面的考慮&#xff0c;先要求Ubuntu 22.04系統需配置密碼復雜度策略&#xff0c;先要求如下&#xff1…

JavaScript數據結構

目錄 JavaScript數據結構 一、基礎數據結構 1. 數組&#xff08;Array&#xff09; 2. 對象&#xff08;Object&#xff09; 二、ES6 高級數據結構 1. Map 2. Set 3. WeakMap 與 WeakSet 三、類型化數組&#xff08;Typed Arrays&#xff09; 四、其他數據結構實現 …

魔改chromium——基礎環境搭建

谷歌chromium環境要求詳細文檔 軟件和環境要求&#xff0c;必須安裝&#xff0c;硬性要求 系統環境&#xff1a;Windows 10&#xff0c;內存最小8GB&#xff0c;推薦16GB&#xff0c;NTFS格式磁盤最少100GB空間Git版本&#xff1a;安裝最新版本即可&#xff0c;Git桌面端下載…

電子文檔安全管理系統V6.0接口backup存在任意文件下載漏洞

免責聲明&#xff1a;本號提供的網絡安全信息僅供參考&#xff0c;不構成專業建議。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權&#xff0c;請及時與我聯系&#xff0c;我將盡快處理并刪除相關內容。 漏洞描述 電子文檔安全管理系統 V6.0 reso…

5.3 MVVM模型

一、MVVM的基本概念 MVVM的基本概念&#xff1a;Model、View、ViewModel 組件職責示例內容Model封裝業務數據User類&#xff0c;包含姓名、年齡屬性View負責UI呈現XAML界面&#xff0c;包含數據綁定ViewModel連接View和Model&#xff0c;處理視圖邏輯MainViewModel包含命令和…

python采集淘寶拍立淘按圖搜索API接口,json數據示例參考

以下是關于淘寶拍立淘按圖搜索API接口的詳細說明及JSON數據示例&#xff1a; 一、接口概述 淘寶拍立淘按圖搜索API接口是淘寶開放平臺提供的一項基于圖像識別技術的服務&#xff0c;允許開發者通過上傳商品圖片&#xff0c;獲取與圖片相似或相同的商品列表。該接口廣泛應用于…

每天學一個 Linux 命令(8):ls

大家好,歡迎來到《每天掌握一個Linux命令》系列。在這個系列中,我們將逐步學習并熟練掌握Linux命令,今天,我們要學習的命令是ls。 01 什么是ls命令 在Linux系統中,ls命令是“list”的縮寫,其英文全稱為“list directory contents”,即“列出目錄內容”。該命令非常實用…

00.【Linux系統編程】 Linux初識(云服務器設置CentOS并使用、Xshell鏈接云服務器)

目錄 一、華為云服務器免費體驗申請 二、Xshell遠程鏈接創建好的華為云服務器 2.1 下載Xshell 2.2 Xshell遠程連接華為云服務器 一、華為云服務器免費體驗申請 華為云官網 1. 進入華為云官網&#xff0c;最上面一欄點活動&#xff0c;并進入免費體驗中心。 2. 找到含有“…