node.js npm常用命令

iAnimo發表於2018-09-18

簡介

NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發工具。有了npm,就可以按需求快速進行下載、安裝、上傳以及管理已經安裝的包。

常用命令

1. 安裝模組

  • node的安裝分為全域性模式本地模式
  • 一般情況下會以本地模式執行,Node包會被安裝到和你的應用程式程式碼的本地node_modules目錄下。
  • 在全域性模式下,Node包會被安裝到Node的安裝目錄下的node_modules下。
  • 基本語法
  • npm install (with no args, in package dir)
  • npm install [<@scope>/]moduleName
  • npm install [<@scope>/]moduleName@< tag >
  • npm install [<@scope>/]moduleName@< version >
  • npm install [<@scope>/]moduleName@< version range>
  • npm install < tarball file>
  • npm install < tarball url>
  • npm install < folder>
  • alias(別名): npm i
  • common options(可選引數):
  • [-S|–save]
  • [-D|–save-dev]
  • [-O|–save-optional]
  • [-E|–save-exact]
  • [–dry-run]
  • 本地安裝

npm install moduleName:預設安裝,一般會安裝最新包
npm install moduleName@version: 安裝指定版本

  • 全域性安裝
  • npm install --global moduleName
  • npm install -g moduleName
  • npm set global=true:設定安裝模式
  • npm get global:檢視當前使用的安裝模式
  • 可選引數
  • -s or --save
  • 安裝包資訊將加入到dependencies(生產階段的依賴)

安裝的同時,將資訊寫入package.json中專案路徑中如果有package.json檔案時,直接使用npm install方法就可以根據dependencies配置安裝所有的依賴包,這樣程式碼提交到github時,就不用提交node_modules這個資料夾了。

  • 舉例

npm install gulp --save 或 npm install gulp -S
package.json 檔案的 dependencies 欄位:
“dependencies”: { “gulp”: “^3.9.1”}

  • -D or --save-dev :安裝包資訊將加入到devDependencies(開發階段的依賴),所以一般在開發階段使用它
  • 舉例

npm install gulp --save-dev 或 npm install gulp -D
package.json 檔案的devDependencies欄位:
“devDependencies”: { “gulp”: “^3.9.1”}

  • -O or --save-optional :安裝包資訊將加入到optionalDependencies(可選階段的依賴)
  • 舉例

npm install gulp --save-optional 或 npm install gulp -O
package.json檔案的optionalDependencies欄位:
“optionalDependencies”: { “gulp”: “^3.9.1”}

  • -E or --save-exact :精確安裝指定模組版本
  • 舉例
  • npm install gulp --save-exact
  • npm install gulp -E
  • npm install gulp -ES

package.json 檔案的dependencies欄位
“dependencies”: { “gulp”: “3.9.1”}(^消失了)

  • npm install

模組的依賴都被寫入了package.json檔案後,他人開啟專案的根目錄(專案開源、內部團隊合作),使用npm install命令可以根據dependencies配置安裝所有的依賴包

  • 其他用法
  • npm install --production:安裝dependencies,不包含devDependencies
  • npm install < package >:預設使用–save引數,如果不想儲存到package.json中,可以新增--no-save引數;還可以指定–save-dev-g引數

2. 解除安裝模組

  • 基礎語法
  • 基本語法:npm uninstall [<@scope>/]< pkg >[@< version >]
  • 可選引數:[-S|–save|-D|–save-dev|-O|–save-optional]
  • aliases(別名): remove, rm, r, un, unlink
  • 舉例
  • npm uninstall moduleName:解除安裝node模組
  • npm uninstall moduleName -g:解除安裝全域性node模組
  • npm uninstall mouduleName --global
  • npm uninstall gulp --save-dev:解除安裝開發版本的模組
  • npm uninstall < package >:解除安裝依賴包, 預設使用–save引數,即從package.json中移除

3. 檢視模組

  • npm view
  • npm view moduleNames:檢視node模組的package.json資料夾
  • npm view moduleName labelName:檢視package.json資料夾下某個標籤的內容
  • npm view moudleName dependencies:檢視包的依賴關係
  • npm view moduleName repository.url:檢視包的原始檔地址
  • npm view moduleName engines:檢視包所依賴的Node的版本
  • npm list:檢視當前目錄下已安裝的node包
  • npm list -g:檢視全域性node包

注意事項:Node模組搜尋是從程式碼執行的當前目錄開始的,搜尋結果取決於當前使用的目錄中的node_modules下的內容。

  • npm list parseable=true:以目錄的形式來展現當前安裝的所有node包

4. 更新模組

  • npm update:更新模組
  • 基本語法:npm update [<@scope>] [<pkg>...]
    根據給定的scope,更新模組
  • npm oudated: 檢查模組是否過時
  • 基本語法:npm outdated [[<@scope>/]<pkg> ...]

此命令會列出所有已經過時的包,可以及時進行包的更新,其中current顯示當前安裝版本,latest顯示依賴包的最新版本,wanted顯示我們可以升級到可以不破壞當前程式碼的版本。

  • npm init:在專案中引導建立一個package.json檔案
  • 基本語法:npm init [-f|--force|-y|--yes]

npm init 在此目錄生成package.json檔案,可以新增-y | --yes 引數,預設所有配置為預設yes
此命令會讓安裝包的資訊保持到專案的package.json檔案中,以便後續的其它的專案開發或者他人合作使用,因此說package.json在專案中是必不可少的。

  • 其他用法
  • npm ls [-g] [--depth=0]:檢視當前目錄或全域性的依賴包,可指定層級為0
  • npm ll[la] [--depth=0]:檢視依賴包資訊
  • npm list < package >:檢視依賴的當前版本

4. 其他常用語句

  • npm rebuild moduleName:用於更改包內容後進行重建

  • npm help folders:檢視npm使用的所有資料夾

  • npm help:檢視幫助命令

  • npm search packageName:檢驗某個包名是否已存在(釋出時使用)

  • npm root:檢視當前包的安裝路徑

  • npm root -g:檢視全域性的包的安裝路徑

  • npm -v:檢視npm安裝的版本

  • npm search < string >:查詢包含該字串的依賴包

  • npm help json:訪問npm的json資料夾

一個npm包是包含了package.json的資料夾,package.json描述了這個資料夾的結構。 此命令會以預設的方式開啟一個網頁,如果更改了預設開啟程式則可能不會以網頁的形式開啟。

參考手冊

npm模組管理器


相關文章