【npm | npm常用命令及鏡像設置】

npm常用命令及鏡像設置

  • 概述
  • 常用命令
  • 對比
    • 本地安裝
    • 全局安裝
    • `--save` (或 `-S`)
    • `--save-dev` (或 `-D`)
  • 鏡像設置
    • 設置鏡像方法
    • 切換回npm官方鏡像
    • 選擇鏡像源

在這里插入圖片描述

主頁傳送門:📀 傳送

概述


在這里插入圖片描述

??npm致力于讓 JavaScript 開發變得優雅、高效和安全。免費的 npm Registry 已成為 JavaScript 代碼共享的中心,擁有超過一百萬個軟件包,是世界上最大的軟件注冊表。它是Node.js的標準包管理器,用于安裝、共享和管理應用程序依賴關系,能解決NodeJS代碼部署上的很多問題。也就是說,如果你想要在你的項目中引入一些庫或工具,可以使用npm來快速安裝。

常見使用場景:

  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
  • 允許用戶從NPM服務器 下載并安裝別人編寫的命令行程序到本地使用。
  • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。

常用命令


??一些npm常用命令

  1. npm版本號
# 檢測npm是否安裝,以及查看npm安裝的版本號
npm -v   
  1. npm升級
# 如果安裝的是舊版本的npm,可以通過npm命令來升級
npm install npm -g 
  1. 臨時使用鏡像源
# 設置本次從淘寶鏡像上安裝需要的包,不改變npm原有的倉庫鏡像源
npm install -g <安裝包名> --registry=https://registry.npm.taobao.org
# 安裝package.json中所有的包,本次安裝從設置的鏡像中下載,不改變npm原有配置的倉庫鏡像
npm install --registry=https://registry.npm.taobao.org  
  1. 查看鏡像源
# 查看當前本地npm配置的倉庫鏡像
npm config get registry
  1. 配置鏡像源
# 配置本地npm的倉庫鏡像源地址,以后下載包,在下載命令中不配置鏡像源時,就從上述配置的鏡像源中下載指定的安裝包
npm config set registry <https://....倉庫鏡像源地址># 也可以修改 ~/.npmrc 文件,加入下面內容
registry = https://registry.npm.taobao.org(<https://....倉庫鏡像源地址>)
  1. 使用cpnm
# 使用cnpm命令替換npm命令,$ cmpm install <包名>
npm install -g cnpm  --registry=https://registry.npm.taobao.org
  1. 安裝指定包
#  加-g是全局安裝指定的包,不加-g是本地本項目安裝指定的包名
npm install <包名>   <-g>
  1. 報錯解決
# 類似 " npm err ! Error: connect ECONNREFUSED 127.0.0.1:8087 " 的錯誤解決 (設置null 再重新設置鏡像)
npm config set proxy null
npm config set https-proxy null 
npm config set registry <https://....倉庫鏡像源地址>
  1. 查看包
# 查看所有全局安裝的包
npm -g list
  1. 卸載包
#  卸載某個包
npm uninstall  <包名>   ;
# 卸載所有的包
npm uninstall * 
  1. 查看依賴包是否存在
# 查看依賴包是否存在(用10的命令卸載某個包后,如果是卸載的/node_modules/目錄下的包,可以通過此命令查看卸載的包是否還存在)
npm ls
  1. 更新某個包到最新版本
npm update  <包名>
  1. 升級指定包到指定版本
# 例如:npm install -g npm@18.15.0 ,升級npm 到18.15.0版本
npm install <-g>  <包名>@<版本號>
  1. 操作
# 在npm資源庫中注冊用戶
npm adduser
# 登錄用戶
npm login
# 發布項目
npm publish
# 清除緩存
npm cache verify
npm cache clean --force
倆個命令都可

對比


??(本地安裝與全局安裝 )、(--save--save-dev)選項的區別 、對比及命令。

本地安裝


  • 安裝位置: 包會被安裝在當前項目的 node_modules 目錄下。
  • 作用: 本地安裝的包通常是項目的依賴,只在該項目中可用。
  • 命令: npm install <package_name>

全局安裝


  • 安裝位置: 包會被安裝在全局的 node_modules 目錄下,通常在系統的全局路徑中。
  • 作用: 全局安裝的包可以在任何項目中使用,一般用于安裝一些命令行工具或全局可用的模塊。
  • 命令: npm install -g <package_name>
說明本地安裝全局安裝
安裝位置當前項目的 node_modules 目錄下全局的 node_modules 目錄下(一般在系統全局路徑)
作用項目的依賴(僅作用于當前項目)全局可用(一般用于安裝一些命令行工具或全局可用的模塊)
命令npm install <package_name>npm install -g <package_name>

--save (或 -S


  • 作用: 將包添加到 dependencies 中,標識該包為項目運行時的依賴。
  • 命令: npm install <package_name> --save

--save-dev (或 -D


  • 作用: 將包添加到 devDependencies 中,標識該包為開發時的依賴,僅在開發和測試階段使用。
  • 命令: npm install <package_name> --save-dev
說明–save–save-dev
作用項目運行時依賴開發時的依賴(僅開發與測試階段使用)
命令npm install <package_name> --savenpm install <package_name> --save-dev

示例:

??假設要安裝一個名為 lodash 的包:

# 本地安裝,作為項目的依賴
npm install lodash --save
# 或使用縮寫
npm install lodash -S

??這會把 lodash 安裝到項目的 node_modules 目錄,并添加到 dependencies 中。

# 全局安裝,作為系統的全局工具
npm install -g lodash

??這會把 lodash 安裝到全局 node_modules 目錄中,可以在整個系統中使用。

# 開發時安裝,作為開發依賴
npm install lodash --save-dev# 或使用縮寫
npm install lodash -D

??這會把 lodash 安裝到項目的 node_modules 目錄,并將其添加到 devDependencies 中,表示它是在開發階段使用的依賴。

??通過使用 --save--save-dev,你可以清晰地區分項目運行時的依賴和開發時的依賴,而本地安裝和全局安裝則控制了包的作用范圍。

鏡像設置


??npm的官方鏡像位于國外,有時候我們會在安裝依賴的時候出現下載緩慢的情況,甚至有時候會出現安裝失敗的情況。為了解決這個問題,可以選擇使用國內的npm鏡像,以此來加快下載速度,保證依賴安裝的成功率。也就是說NPM鏡像是NPM的一個加速服務,用于提高NPM包的下載速度。

設置鏡像方法


??使用命令行或者配置文件兩種方法可以設置npm鏡像。

  1. 使用命令行設置npm鏡像
npm config set registry https://registry.npm.taobao.org

??將npm的鏡像地址設置為淘寶的鏡像,速度會比較快。

  1. 使用配置文件設置npm鏡像
npm config edit

??用命令打開npm的配置文件,然后在里面設置npm的鏡像。

registry=https://registry.npm.taobao.org/

??將registry設置為上面的鏡像地址,保存后關閉即可。

示例:

 以淘寶鏡像舉例:1.臨時使用npm --registry https://registry.npm.taobao.org install express2.一直使用npm config set registry https://registry.npm.taobao.org
驗證是否成功:
npm config get registry 
或 
npm info express3.使用cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org
或
cnpm install express

切換回npm官方鏡像


??在某些情況下,我們需要切換回npm的官方鏡像。那么該如何做呢?也很簡單,只需將registry這個參數設置為npm官方鏡像即可。

npm config set registry https://registry.npmjs.org

選擇鏡像源


??雖然淘寶的npm鏡像明顯比npm官方鏡像快很多,但是在某些情況下,我們還是需要選擇其他的鏡像源。

常見鏡像源:

1、淘寶鏡像: https://registry.npm.taobao.org
2、cnpmjs鏡像: https://registry.nlark.com
3、npm官方鏡像: https://registry.npmjs.org

其他鏡像源:
??一些可能會用到的鏡像:

cnpm --- http://r.cnpmjs.org/
eu ----- http://registry.npmjs.eu/
au ----- http://registry.npmjs.org.au/
sl ----- http://npm.strongloop.com/
nj ----- https://registry.nodejitsu.com/

??選擇適合自己的源可以大大提高安裝依賴的速度和成功率,推薦使用淘寶的npm鏡像

在這里插入圖片描述

  如果喜歡的話,歡迎 🤞關注 👍點贊 💬評論 🤝收藏  🙌一起討論你的支持就是我??創作的動力!					  💞💞💞

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

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

相關文章

iOS——UIPickerView選擇器

UIPickerView UIPickerView是 iOS 開發中常用的用戶界面組件之一&#xff0c;用于在垂直方向上顯示一個滾動的列表&#xff0c;用戶可以通過滾動選擇其中的一項。 UIPickerView的協議方法 UIPickerView和UItableView差不多&#xff0c;UIPickerView也要設置代理和數據源。UI…

fl studio2024試用版本如何漢化中文?

fl studio2024全稱Fruity Loops Studio2024&#xff0c;這款軟件也被人們親切的稱之為水果&#xff0c;它是一款功能強大的音樂創作編輯軟件&#xff0c;擁有全功能的錄音室&#xff0c;大混音盤以及先進的音樂制作工具&#xff0c;用戶通過使用該軟件&#xff0c;就可以輕松制…

git上傳流程

git安裝網址&#xff1a;https://git-scm.com 如果您要將本地文件夾上傳到名為"compiling"的GitHub倉庫&#xff0c;可以按照以下步驟進行操作&#xff1a; 1.安裝無腦下一步 2.cd到想上傳的文件夾的上一級目錄 2.初始化Git倉庫&#xff1a;git init 設置分支&a…

C++特殊類設計

1.設計不能被拷貝的類 解析&#xff1a;拷貝只會放生在兩個場景中 拷貝構造函數賦值運算符重載 因此想要讓一個類禁止拷貝&#xff0c; 就需讓該類不能調用“拷貝構造函數”以及“賦值運算符重載”&#xff0c;而C11提供的delete重載關鍵字可以讓這件事情變得更加簡單。 1.1.C9…

stl庫之list鏈表與例題

stl中的list是雙向鏈表&#xff0c;優點在于插入/刪除元素方便&#xff0c;缺點是隨機訪問元素時間長 所需頭文件&#xff1a;#include <list> 初始化 list<類型名> 變量名 定義一個int類型的變量a list<int> a; 在末尾插入元素 a.push_back(i); 在開…

LeetCode 每日一題 Day 8 || 簡單枚舉

2048. 下一個更大的數值平衡數 如果整數 x 滿足&#xff1a;對于每個數位 d &#xff0c;這個數位 恰好 在 x 中出現 d 次。那么整數 x 就是一個 數值平衡數 。 給你一個整數 n &#xff0c;請你返回 嚴格大于 n 的 最小數值平衡數 。 示例 1&#xff1a; 輸入&#xff1a;n …

Error: Cannot find module ‘@npmcli/config‘ 最新解決辦法

看了網上許多這個問題的小伙伴&#xff0c;都是降級node版本來解決的。但是降級并不是我想要的結果。 真正的解決辦法就是更新nvm&#xff0c;將你的nvm升級到最新版本&#xff0c;然后卸載掉npm報錯的node版本&#xff0c;重新安裝即可使用。 解決辦法&#xff1a;更新nvm nv…

2020年第九屆數學建模國際賽小美賽B題血氧飽和度的變異性解題全過程文檔及程序

2020年第九屆數學建模國際賽小美賽 B題 血氧飽和度的變異性 原題再現&#xff1a; 脈搏血氧飽和度是監測患者血氧飽和度的常規方法。在連續監測期間&#xff0c;我們希望能夠使用模型描述血氧飽和度的模式。 ??我們有36名受試者的數據&#xff0c;每個受試者以1 Hz的頻率連…

【開源視頻聯動物聯網平臺】J2mod庫寫一個Modbus RTU 服務器

J2Mod是一個Java編寫的Modbus通信庫&#xff0c;可以用于實現Modbus RTU服務器。以下是一個簡單的示例&#xff0c;演示如何使用J2Mod庫創建一個Modbus RTU服務器&#xff1a; 添加J2Mod庫依賴項&#xff1a; 首先&#xff0c;確保在項目中包含J2Mod庫。你可以將J2Mod庫添加到…

CSPNet: A New Backbone that can Enhance Learning Capability of CNN(2019)

文章目錄 -Abstract1 Introduction2 Related workformer work 3 Method3.1 Cross Stage Partial Network3.2 Exact Fusion Model 4 Experiments5 Conclusion 原文鏈接 源代碼 - 梯度信息重用&#xff08;有別于冗余的梯度信息&#xff09;可以減少計算量和內存占用提高效率&am…

C語言 文件操作

文章目錄 前言文件概念文件名數據文件&程序文件文本文件&二進制文件文件緩沖區 文件操作FILE結構體文件指針文件打開&關閉文件輸入/輸出文件指針控制 前言 主要需要看的是概念部分、以及FILE結構體、文件指針部分。其余函數使用&#xff0c;知道其功能存在即可&am…

【SpringBoot】請求參數

1. BS 架構 BS架構&#xff1a;Browser/Server&#xff0c;瀏覽器/服務器架構模式。客戶端只需要瀏覽器&#xff0c;應用程序的邏輯和數據都存儲在服務端。 在SpringBoot進行web程序開發時&#xff0c;它內置了一個核心的Servlet程序 DispatcherServlet&#xff0c;稱之為 核…

EasyExcel之文件導出最佳實踐

文件導出 官方文檔&#xff1a;寫Excel | Easy Excel (alibaba.com) 引言 當使用 EasyExcel 進行 Excel 文件導出時&#xff0c;我最近在工作中遇到了一個需求。因此&#xff0c;我決定寫這篇文章來分享我的經驗和解決方案。如果你對這個話題感興趣&#xff0c;那么我希望這篇…

c語言插入排序算法(詳解)

插入排序是一種簡單直觀的排序算法&#xff0c;其主要思想是將一個待排序的元素插入到已經排好序的部分的合適位置。 插入排序的原理如下&#xff1a; 將序列分為兩部分&#xff1a;已排序部分和未排序部分。初始時&#xff0c;已排序部分只包含第一個元素&#xff0c;未排序…

php 接入 百度編輯器

按照github上的操作下載百度編輯器的包后&#xff0c;根據文檔上的步驟操作&#xff08;可能會遇到報錯&#xff09;&#xff1a; 1、git clone 倉庫 2、npm install 安裝依賴&#xff08;如果沒有安裝 grunt , 請先在全局安裝 grunt&#xff09; 我的是報了下面的錯&#…

Leetcode 17 電話號碼的字母組合

理解題意&#xff1a; 給定一個僅包含數字 2-9 的字符串&#xff0c;返回所有它能表示的字母組合 本質上&#xff1a;數字代表著一個字母集合 數字的個數決定了遞歸的深度&#xff0c;即樹的深度 數字代表的字母組合決定了當前樹的寬度。 1.暴力回溯 這里沒有什么剪枝…

387.字符串中的第一個唯一字符 —> `size()`

解答&#xff1a; int firstUniqChar(string s) {int size s.size();// char count[26] { 0 };// error.1int count[26] { 0 };// for (int i 0; i < s.size() - 1; i) // error.2for (int i 0; i < size; i){count[s[i] - a] 1;}for (int i 0; i < size; i){…

Android 幸運轉盤實現邏輯

一、前言 幸運轉盤在很多app中都有&#xff0c;也有很多現實的例子&#xff0c;不過這個難度并不是如何讓轉盤轉起來&#xff0c;真正的難度是如何統一個方向轉動&#xff0c;且轉到指定的目標區域&#xff08;中獎概率從來不是隨機的&#xff09;&#xff0c;當然還不能太假&…

AI全棧大模型工程師(二十二)什么是模型訓練

文章目錄 ?? 這節課會帶給你還是寫在前面Fine-Tuning 有什么用:先看一個例子我有很多問題一、什么是:二、什么是模型2.1、通俗(不嚴謹)的說、模型是一個函數:2.2、一個最簡單的神經網絡三、什么是模型訓練3.1、模型訓練本質上是一個求解最優化問題的過程3.2、怎么求解3.…

人類的耳朵:聽覺的動態范圍

作者&#xff1a;聽覺健康 聽覺的動態范圍即可用的聽力范圍。在坐標系中&#xff0c;它可以表示為以聽閾和最大舒適級為界形成的區域&#xff0c;其坐標軸分別為頻率和聲壓級&#xff08;刺激持續時間在某種程度上對其產生影響&#xff09;。是什么因素決定了人類聽力的極限&am…