npm的基本命令和用法

1.?安裝與初始化

安裝npm

首先,確保你的系統中已安裝了Node.js,因為npm隨Node.js一同分發。訪問Node.js官網下載并安裝適合你操作系統的版本。安裝完成后,在終端或命令提示符中輸入以下命令來驗證安裝:

1$ node -v
2$ npm -v

這兩個命令分別顯示Node.js和npm的當前版本。如果有輸出版本號,說明安裝成功!🎉

初始化項目

當你開始一個新的Node.js項目時,通常第一步是使用npm init命令來創建一個package.json文件。這個文件是項目的配置文件,記錄了項目的名稱、版本、依賴關系等重要信息。

1$ npm init

運行上述命令后,npm會引導你完成一系列問題的回答,最終生成package.json。如果你不想逐個回答,可以使用-y選項快速生成默認的配置文件:

1$ npm init -y

2.?包的安裝與管理

安裝包

npm允許你從npm倉庫安裝各種JavaScript包。最常用的命令是:

1$ npm install <package-name>

例如,安裝Express框架:

1$ npm install express

這會在項目目錄下生成一個node_modules文件夾,存放所有依賴包,并在package.json中自動添加該依賴。

保存依賴
  • --save?或?-S: 將包添加到dependencies,適用于生產環境。
  • --save-dev?或?-D: 將包添加到devDependencies,適用于開發環境。
升級包

要升級某個包到最新版本,可以使用:

1$ npm update <package-name>

或者更新所有包:

1$ npm update
卸載包

移除不再需要的包:

1$ npm uninstall <package-name>

3.?腳本執行

package.json中的scripts字段允許你定義自定義腳本命令,這對于自動化構建、測試、啟動服務器等任務非常有用。

1"scripts": {
2  "start": "node app.js",
3  "test": "jest"
4}

然后,你可以通過npm run <script-name>來執行這些腳本:

1$ npm run start
2$ npm test

4.?版本控制

查看版本

查看本地安裝的包的版本:

1$ npm list <package-name>

或查看全局安裝的包:

1$ npm list -g <package-name>
發布包

如果你開發了自己的庫或工具,并希望分享給其他人,可以通過以下步驟發布到npm倉庫:

  1. 注冊npm賬號(如果還沒有)。
  2. 在項目根目錄下創建.npmrc文件配置發布源(可選)。
  3. 確保package.json文件完整且正確。
  4. 提升版本號(遵循語義化版本控制)。
  5. 執行npm login登錄你的npm賬號。
  6. 最后,使用npm publish命令發布包。

5.?其他常用命令

  • 查看幫助npm help?或?npm help <command>?獲取特定命令的幫助信息。
  • 搜索包npm search <keyword>?搜索npm倉庫中的包。
  • 全局安裝/卸載:使用-g標志可以在全局范圍內安裝或卸載包,例如npm install -g create-react-app?或?npm uninstall -g create-react-app
  • 清理緩存npm cache clean --force?清理npm的緩存,解決可能的安裝問題。

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

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

相關文章

[STM32-HAL庫]ADC采集-DMA中斷采集-平均值濾波-STM32CUBEMX開發-HAL庫開發系列-主控STM32F103C8T6

目錄 一、前言 二、實現步驟 1.STM32CUBEMX配置 2.Keil工程程序設計 三、結語 一、前言 本文通過STM32CUBEMX實現對ADC的數據采集和濾波操作&#xff0c;幫助各位開發者完成與模擬量輸入的采集工作。 二、實現步驟 1.STM32CUBEMX配置 以STM32F103C8T6為例&#xff0c;打開S…

3D 生成重建015-nerf2mesh從神經輻射場中提取mesh和紋理!

3D 生成重建015-nerf2mesh從神經輻射場中提取mesh和紋理&#xff01; 文章目錄 0 論文工作1 論文方法2 效果 0 論文工作 NeRF2Mesh 提出了一種從多視角 RGB 圖像重建紋理表面網格的新方法。它克服了傳統 NeRF 模型的局限性&#xff0c;由于其隱式表示&#xff0c;傳統 NeRF 模…

高斯分步正態分布

高斯分布&#xff0c;也稱為正態分布&#xff08;Normal Distribution&#xff09;&#xff0c;是統計學和概率論中最重要的分布之一。它由德國數學家卡爾弗里德里希高斯&#xff08;Carl Friedrich Gauss&#xff09;首先系統研究并命名。以下是關于高斯分布的詳細介紹&#x…

基于 Pre-commit 的 Python項目代碼風格統一實踐

背景信息 統一代碼風格首先需要定義參照的規范&#xff0c;每個團隊可能會有自己的規范&#xff0c;我們選擇的規范是 yapf mypy isort&#xff0c;如果保證所有的研發人員都遵循相關規范呢&#xff1f; 鼓勵 IDE 中對應的插件的安裝&#xff0c;通過直接對應的插件&#x…

bootstrap實現天平效果

之前提到了&#xff0c;最近&#xff0c;孩子的幼兒園讓家長體驗“半日助教活動”&#xff0c;每個家長需要講授15-20分鐘的課程。作為一名程序員&#xff0c;實在沒有能教的課程&#xff0c;只能做了一個小游戲&#xff0c;帶著小朋友們熟悉數字。 在上一章博客中&#xff0c…

【讀書】讀書筆記——理科生的視角:底層邏輯+數學之美

1&#xff0c;底層邏輯1&#xff08;看清這個世界的底牌&#xff09; 劉潤 著 0&#xff09;什么是底層邏輯&#xff1f; 底層邏輯是&#xff1a;事物之間共同點、變化背后不變的東西事&#xff1b;看清事物的本質&#xff0c;才能在復雜變化中從根本上解決問題。 1&#x…

【Java繼承】(超級詳細!!!)

【Java繼承】&#xff08;超級詳細&#xff01;&#xff01;&#xff01;&#xff09; 1、 繼承的概念2 、繼承的語法3、 父類成員訪問3.1 子類中訪問父類的成員變量3.2 子類中訪問父類的成員方法 4、 super關鍵字5 、子類的構造方法6、 繼承關系上的執行順序7、protected 關鍵…

ubuntu20.04安裝后配置:wifi、屏幕亮度、Nvidia驅動等

文章目錄 一、安裝時最好用英語&#xff0c;否則Downloads等home下文件夾是中文二、安裝后開機無法進入系統圖形界面三、清理不必要軟件&#xff0c;更新系統四、屏幕亮度、Nvidia驅動五、wifi 一、安裝時最好用英語&#xff0c;否則Downloads等home下文件夾是中文 安裝完再在…

error: ‘address‘ in ‘class school‘ does not name a type school:: address = “

錯誤代碼 class school{ public:string name;static string address; public:static string getAddress(){return address;} };school::address "南京路";原因 school::address “南京路”;前面未加類型&#xff0c;導致編譯錯誤 解決 class school{ public:stri…

選項卡式小部件QTabWidget

文章目錄 1. 詳細介紹2. 常用屬性3. 信號4. 常用函數5. 官方示例Tab Dialog QTabWidget提供一堆選項卡式小部件。 1. 詳細介紹 選項卡式部件提供一個選項卡欄和一個用于顯示與每個選項卡相關的頁面的頁面區域。 默認情況下&#xff0c;選項卡欄顯示在頁面區域上方&#xff0c;…

Vue.js - 計算屬性與偵聽器 【0基礎向 Vue 基礎學習】

文章目錄 計算屬性 computedcomputed 的使用方法computed 與 method 的區別計算屬性完整寫法 watch 偵聽器&#xff08;監視器&#xff09;簡單寫法 → 簡單類型數據&#xff0c;直接監視完整寫法 → 添加額外配置項 計算屬性 computed computed 的使用方法 **概念&#xff1…

web題解,基礎知識鞏固(qsnctf)

1.文章管理系統 1&#xff09;打開題目&#xff0c;把它頁面翻完了&#xff0c;沒看懂它有啥用 2&#xff09;看了看源碼&#xff0c;也是一樣的&#xff0c;沒找到有用的東西 3&#xff09;想著可能還是在隱藏文件里找&#xff0c;那我就直接用dirsearch掃掃看 4&#xff09;…

初識C++ · 模擬實現vector

目錄 前言&#xff1a; 1 部分簡單函數的實現 2 push_back和pop_back 3 reserve和resize 4 Print_vector 5 insert和erase 6 拷貝構造 7 構造 8 賦值 9 memcpy的問題 10 迭代器失效 前言&#xff1a; 繼上文模擬實現了string之后&#xff0c;接著就模擬實現vector&…

DataFrame—數據匯總9

s3.sort_index() 文章最前&#xff1a; 我是Octopus&#xff0c;這個名字來源于我的中文名--章魚&#xff1b;我熱愛編程、熱愛算法、熱愛開源。所有源碼在我的個人github &#xff1b;這博客是記錄我學習的點點滴滴&#xff0c;如果您對 Python、Java、AI、算法有興趣&#xf…

MyBatis復習筆記

3.Mybatis復習 3.1 xml配置 properties&#xff1a;加載配置文件 settings&#xff1a;設置駝峰映射 <settings><setting name"mapUnderscoreToCamelCase" value"true"/> </settings>typeAliases&#xff1a;類型別名設置 #這樣在映射…

如何去除視頻上的文字?免費無痕去水印分享!視頻制作良器!

對于需要進行二次創作的視頻素材&#xff0c;去除原有的文字可以提供一個更加干凈的畫布&#xff0c;方便創作者在其基礎上進行新的創作和編輯。同時&#xff0c;去除文字后的視頻也更方便分享到各種平臺&#xff0c;避免因為平臺對文字的限制而導致視頻無法發布或傳播。 要去除…

Kotlin 標準函數 with、run、apply 的定義和使用

Kotlin 標準函數 with、run、apply 的定義和使用 1. with 函數 定義&#xff1a; with 函數允許你在一個對象的上下文中執行一個 lambda 表達式&#xff0c;而不需要在 lambda 表達式中重復引用該對象。 kotlin.internal.InlineOnly public inline fun <T, R> with(r…

云計算期末復習(1)

云計算基礎 作業&#xff08;問答題&#xff09; &#xff08;1&#xff09;總結云計算的特點。 透明的云端計算服務 “無限”多的計算資源&#xff0c;提供強大的計算能力 按需分配&#xff0c;彈性伸縮&#xff0c;取用方便&#xff0c;成本低廉資源共享&#xff0c;降低企…

python 3.10 install on centos

CentOS 7 安裝 Python 3.10_yum python3.10-CSDN博客

Homebrew安裝mysql之后,啟動和使用MySQL服務:

啟動MySQL服務&#xff1a; brew services start mysql 手動啟動服務&#xff1a; mysql.server start 例如&#xff1a; mysql.server start Starting MySQL .. SUCCESS! 停止 MySQL服務&#xff1a; brew services stop mysql 或者 mysql.server stop 重啟MySQL服務&a…