包管理工具npm、cnpm、yarn、NVM

文章目錄

    • npm
      • npm基本使用
      • npm搜索包
      • 生產環境與開發環境
      • 開發依賴與生產依賴
      • 全局安裝
      • 環境變量Path
      • 安裝包依賴
      • 安裝指定版本的包、刪除依賴
      • 配置命令別名
    • cnpm
      • 安裝
      • 操作命令:
      • 配置
    • yarn
      • yarn安裝及常用命令
      • yarn 配置淘寶鏡像
    • NVM
      • 使用
      • 常用命令
    • 擴展內容
      • npm和yarn的選擇
      • npm發布包、更新包和刪除包(了解)
      • 擴展內容

[包]英文單詞是package,代表了一組特定功能的源碼集合
包管理工具:
管理[包]的應用軟件,可以對[包]進行下載安裝,更新,刪除,上傳等操作借助包管理工具,可以快速開發項目,提升開發效率
包管理工具是一個通用的概念,很多編程語言都有包管理工具,所以掌握好包管理工具非常重要
前端常用的包管理工具 npm 、yarn、cnpm

npm

在這里插入圖片描述

npm基本使用

創建一個空目錄,然后以此目錄作為工作目錄啟動命令行工具,執行npm init
在這里插入圖片描述

1.npm init命令的作用是將文件夾初始化為一個[包],交互式創建package.json文件
2.package.json是包的配置文件,每個包都必須要有package.json
3.package.json內容示例:
在這里插入圖片描述

npm搜索包

在這里插入圖片描述
創建一個包名字為A,A中安裝了包的名字是B,就說B是A的一個依賴包,也會說A依賴于B

require導入npm包基本流程
require(‘uniq’)
1.在當前文件夾下node_modules中尋找同名的文件夾
2.如果1不行,在上級目錄中下的node_modules中尋找同名的文件夾,直至找到磁盤根目錄

生產環境與開發環境

1.開發環境是程序員專門用來寫代碼的環境,一般是指程序員的電腦,開發環境的項目一般只能程序員自己訪問
2.生產環境是項目代碼正式運行的環境,一般是指正式的服務器電腦,生產環境的項目一般每個客戶都可以訪問

開發依賴與生產依賴

在這里插入圖片描述

全局安裝

命令行窗口輸入:npm i -g nodemon
全局安裝完成之后就可以在命令行的任何位置運行;nodemon命令該命令的作用是自動重啟node 應用程序

  • 全局安裝的命令不受工作目錄位置影響
  • 可以通過npm root -g可以查看全局安裝包的位置
  • 不是所有的包都適合全局安裝,只有全局類的工具才適合,可以通過查看包的官方文檔來確定安裝方式,
    在這里插入圖片描述

環境變量Path

Path是操作系統的一個環境變量,可以設置一些文件夾的路徑,在當前工作目錄下找不到可執行文件時,就會在環境變量Path的目錄中挨個的查找,如果找到則執行,如果沒有找到就會報錯
在這里插入圖片描述
補充說明:

  • 如果希望某個程序在任何工作目錄下都能正常運行,就應該將該程序的所在目錄配置到環境變量Path中
  • windows 下查找命令的所在位置
    cmd 命令行中執行where nodemon
    powershell命令行執行get-command nodemon

安裝包依賴

在項目協作中有一個常用的命令就是npm i,通過該命令可以依據package.json和package-lock.json 的依賴聲明安裝項目依賴
npm i (npm install全寫)

node_modules文件夾大多數情況都不會存入版本庫

安裝指定版本的包、刪除依賴

在這里插入圖片描述

配置命令別名

配置命令別名可以更簡單的執行命令

配置package.json中的scripts屬性:

{
.
.
.
"scripts":{
"server":"node server.js",
"start":"node index.js",},..
}

配置完成之后,可以使用別名執行命令

npm run server
npm run start /start別名比較特別,使用時可以省略run

補充說明:

  • npm start是項目中常用的一個命冷,一般用來啟動項目
  • npm run有自動向上級目錄查找的特性,跟require 函數也一樣
  • 對于陌生的項目,我們可以通過查看scripts屬性來參考項目的一些操作

cnpm

cnpm 是一個淘寶構建的 npmjs.com 的完整鏡像,也稱為『淘寶鏡像』,網址https://npmmirror.com/
cnpm 服務部署在國內 阿里云服務器上 , 可以提高包的下載速度
官方也提供了一個全局工具包 cnpm ,操作命令與 npm 大體相同

安裝

通過npm安裝cnpm:在命令行窗口輸入

npm install -g cnpm --registry=https://registry.npmmirror.com

操作命令:

在這里插入圖片描述

配置

1.直接配置
2.工具配置
在這里插入圖片描述

  • nrm報錯解決辦法:
解決:  npm install -g nrm open@8.4.2 –save
  • 切換鏡像:命令行窗口輸入 nrm ls會列出支持的鏡像地址,輸入nrm use npm

補充說明:

  1. 建議使用第二種方式 進行鏡像配置,因為后續修改起來會比較方便
  2. 雖然 cnpm 可以提高速度,但是 npm 也可以通過淘寶鏡像進行加速,所以 npm 的使用率還是高于 cnpm
  3. 使用淘寶的沒法上傳,因為淘寶的是只讀鏡像,只能下載不能上傳

yarn

npm是同步的、yarn是異步的
在這里插入圖片描述

yarn安裝及常用命令

可以使用npm安裝yarn:npm i -g yarn
常用命令:
在這里插入圖片描述
這里有個小問題就是 全局安裝的包不可用(沒有配置到環境變量path中) ,yarn 全局安裝包的位置可以通過 yarn global bin來查看,

yarn 配置淘寶鏡像

可以通過如下命令配置淘寶鏡像:

yarn config set registry https://registry.npmmirror.com/

可以通過 yarn config list 查看 yarn 的配置項

NVM

nvm 全稱 Node Version Manager 顧名思義它是用來管理 node 版本的工具,方便切換不同版本的Node.js

使用

nvm 的使用非常簡單,跟 npm 的使用方法類似
下載安裝:
首先先下載 nvm,下載地址

https://github.com/coreybutler/nvm-windows/releases

選擇 nvm-setup.exe 下載即可

常用命令

在這里插入圖片描述

擴展內容

npm和yarn的選擇

可以根據不同的場景進行選擇

  1. 個人項目
    如果是個人項目, 哪個工具都可以 ,可以根據自己的喜好來選擇
  2. 公司項目
    如果是公司要根據項目代碼來選擇,可以通過鎖文件判斷 項目的包管理工具
    npm 的鎖文件為 package-lock.json
    yarn 的鎖文件為 yarn.lock
  3. 包管理工具盡量不要混著用

npm發布包、更新包和刪除包(了解)

擴展內容

很多語言中都有包管理工具
在這里插入圖片描述

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

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

相關文章

USB轉串口芯片CH341、CH372、CH374、CH375等的電路及 PCB 設計的重要注意事項

前言 USB芯片的電路和PCB設計參考及注意事項,含CH34X、CH37X等系列芯片的電路設計說明。涉及工作穩定性和抗干擾以及USB-HOST帶電熱插拔。基于 USB 芯片的電路及 PCB 設計的重要注意事項 版本:2E 1、摘要 本文主要針對以下因電路及 PCB 設計不佳而引起…

文檔解析與向量化技術加速多模態大模型訓練與應用

前言 隨著人工智能技術的不斷發展,多模態大模型作為一種新型的機器學習技術,逐漸成為人工智能領域的熱點話題。多模態大模型能夠處理多種媒體數據,如文本、圖像、音頻和視頻等,并通過學習不同模態之間的關聯,實現更加…

Q1咖啡機行業線上市場(京東天貓淘寶)銷售數據分析

回顧疫情那幾年,咖啡機市場可能是大環境帶動下爆發飛速的品類之一。在整體廚房小家電大盤銷售不佳的情況下, 咖啡機市場的表現是亮眼的。而今年Q1季度,在廚衛小電市場整體低迷的狀態下,咖啡機市場依然保持著穩中向好的趨勢。 根據…

Windows 命令修改時間

Windows 命令修改時間 運行w32tm /resync, 顯示“此計算機沒有重新同步,因為沒有可用的時間數據”, 運行w32tm /query /source , 顯示“Local CMOS Clock”,表示正在使用的是主板上的時間,沒有使用外部…

樹莓派|連接CSI接口攝像頭+opencv

CSI(Camera Serial Interface)接口攝像頭是一種常見的嵌入式系統或移動設備中使用的攝像頭接口。它通常用于與處理器或圖像傳感器進行直接連接,實現高速的圖像數據傳輸。 CSI接口攝像頭具有以下特點: 高速傳輸:CSI接口…

Spring MVC(五) 文件上傳

1 單文件上傳 在程序開發中,有時候需要上傳一些文件。我們在學習Servlet的時候,也做過文件上傳的操作,只不過基于Servlet的文件上傳操作起來過于復雜,因此所有的MVC框架都提供了自己的文件上傳操作,基本上都是基于File…

UE5 FARFilter篩選器使用方法

UE5 查找資源時可以用FARFilter進行篩選,之前可以用ClassNames進行篩選,但是5.1之后就棄用這個屬性改成ClassPaths屬性 構造一個FTopLevelAssetPath對象需要兩個FName參數,但是沒找到應該傳什么 查找官方文檔,明顯是錯誤的&#x…

AAAI: Generalized Singular Value Thresholding論文閱讀

1 Abstract 這篇論文研究了與非凸函數g相關的廣義奇異值閾值(Generalized Singular Value Thresholding, GSVT)算子Proxσ g (),定義為 P r o x g σ ( B ) arg ? min ? X ∑ i 1 m g ( σ i ( X ) ) 1 2 ∥ X ? B ∥ F 2 , \mathbf{Prox}_{g}^{\sigma}(\mat…

Python學習-Numpy-1

學習參考鏈接: Numpy的介紹和安裝和性能對比_嗶哩嗶哩_bilibili Numpy相對List的優勢和特點 1、Numpy的數據結構是array數組 2、相較List的性能更好,并且包含大量的便捷的函數,以及數組中元數據的信息 3、array的數據類型必須一致&#xff0c…

實驗名稱:TCP 連接管理

目錄 實驗目的: 實驗原理: 實驗步驟: 1) 啟動WireShark,設置抓包狀態 2) 訪問指定服務器 ,通過Wireshark抓取通信數據報文 3) 分析TCP連接建立的三次握手和連接釋放的四次握手過程 原始數據記錄: 實…

微信小程序生命周期揭秘:從啟動到消亡的全過程剖析【附代碼】

微信小程序生命周期揭秘:從啟動到消亡的全過程剖析 一、小程序生命周期概覽核心生命周期函數 二、深入理解生命周期回調2.1 onLoad: 首次亮相的準備2.2 onShow: 重登舞臺的瞬間2.3 onReady: 舞臺就緒,靜待表演2.4 onHide & onUnload: 謹慎離場&#…

【數據結構陳越版筆記】第1章 概述【習題】

1. 碎碎念 我這答案做的可能不對,如果不對,歡迎大家指出錯誤 2. 答案 1.1 判斷正誤 (1) N ( log N ) 2 N(\text{log}N)^{2} N(logN)2是 O ( N 2 ) O(N^{2}) O(N2)的。 (2) N 2 ( log N ) 2 N^{2}(\text…

藍橋杯備戰12.階乘

P5739 【深基7.例7】計算階乘 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) 遞歸 #include<bits/stdc.h> #define endl \n #define int long long using namespace std; const int N 2e710,M 1e310; double a[N]; int jie(int n) {if(n1)return 1;else return n*ji…

HTML/CSS3

1.CSS CSS的作用在于在HTML的基礎上(決定網頁的內容和結構)對網頁進行排版布局 對網頁中的元素提供樣式 使得網頁顯得更加精美CSS全稱是cascading style sheets 即層疊樣式表CSS樣式的書寫格式&#xff1a;樣式名: 樣式值 例如&#xff1a;color: red建議:之后進行空格 CSS樣式…

AXI Interconnect IP核的連接模式簡介

AXI Interconnect IP核內部包含一個 Crossbar IP核&#xff0c;用于在 Slave Interfaces&#xff08;SI&#xff09;和 Master Interfaces&#xff08;MI&#xff09;之間路由傳輸。在連接 SI 或 MI 到 Crossbar 的每條路徑上&#xff0c;可以選擇性地添加一系列 AXI Infrastru…

2024年安全員C證報名條件

安全員c證&#xff0c;又稱建筑施工企業三類人員c證&#xff0c;持證者一般是建筑施工企業專職安全生產管理的專業人員。安全員c證報名條件是: 1、職業道德良好&#xff0c;身體健康&#xff0c;年齡不超過60周歲(法定代表人除外); 2、具有中專及以上文化程度或初級及以上技術…

WMS系統批次管理概述

為了提高倉庫運作效率&#xff0c;降低庫存成本&#xff0c;越來越多的企業開始引入WMS倉庫管理系統&#xff0c;WMS系統批次管理作為其核心功能之一&#xff0c;對于實現精細化、智能化的倉儲管理具有重要意義。 二、WMS系統批次管理概述 WMS系統批次管理是指通過對倉庫中的貨…

rust調用SQLite實例

rusqlite庫介紹 Rusqlite是一個用Rust編寫的SQLite庫&#xff0c;它提供了對SQLite數據庫的操作功能。Rusqlite的設計目標是提供一個簡潔易用的API&#xff0c;以便于Rust程序員能夠方便地訪問和操作SQLite數據庫。 Rusqlite的主要特點包括&#xff1a; 遵循Rust的類型系統和…

SQL_hive的連續開窗函數

SQL三種排序&#xff08;開窗&#xff09;第幾名/前幾名/topN 1三種排序&#xff08;開窗&#xff09;第幾名/前幾名/topN思路 4種排序開窗函數 1三種排序&#xff08;開窗&#xff09;第幾名/前幾名/topN 求每個學生成績第二高的科目-排序思路 t2表&#xff1a;對每個學生 的…

基于Python的web漏洞挖掘掃描技術的實現與研究【附源碼,文檔】

博主介紹&#xff1a;?Java老徐、7年大廠程序員經歷。全網粉絲12w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? &#x1f345;文末獲取源碼聯系&#x1f345; &#x1f447;&#x1f3fb; 精彩專欄推薦訂閱&#x1f447;&…