NPM 命令總結

Ozzie發表於2020-02-12

之前在下載包的時候接觸了幾個 npm 命令,索性將常見的命令總結一下

  1. npm adduser
    • 新增使用者
  2. npm access
    • 設定包的許可權
  3. npm bugs
    • 開啟包的bugs 報告頁面
  4. npm bin [—-global]
    • 檢視npm 可執行檔案的目錄
  5. npm config get registry
    • 獲取 npm 倉庫地址
  6. npm config list [—-json]
    • 獲取 npm 配置資訊
  7. npm config edit
    • 編輯 npm 的配置資訊
  8. npm config delete
    • 刪除某個配置
    • npm c 是 npm config 別名
  9. npm cache add
    • 透過 git 地址新增某個 tar 包到快取
  10. npm cache clean —force
    • 清除快取檔案 npm@5 後必須使用強制符
  11. npm cache verify
    • 清理無用的快取檔案和校驗快取資料完整性
  12. npm completion >> ~/.zsh
    • npm 開啟自動補全命令,設定後,按住 tab 鍵能自動提示 npm 命令
  13. npm deprecate [@]
    • 新增對某個包的某個版本的反對資訊。只有 owner 才可以,安裝此包能看到這些反對資訊
  14. npm dist-tag add @ []
    • 為某個版本新增 tag,如果新增的 tag 為 latest,這個 tag 版本將成為最新版本。使用者下載最新的時候會直接下載到該版本
  15. npm dist-tag rm
    • 移除tag
  16. npm dist-tag ls []
    • 檢視 tag 清單
  17. npm doctor
    • npm 診斷命令,npm 會對 npm 執行的環境進行檢測診斷,包括 npm 的版本,git 版本,npm 使用的檔案許可權,npm ping 等等
  18. npm docs
    • 開啟包的文件地址
  19. npm dedupe
    • 透過一些演算法 將多個依賴包中重複依賴的包移除,只保留一個
    • 該命令別名為:npm ddp
  20. npm explore [ – ]
    • 進入指定的包裡執行一些命令,比如執行更新原始碼,執行重新編譯等
  21. npm edit
    • 修改包內容
  22. npm get key val
    • 獲取某個配置
  23. npm init
    • 初始化當前目錄為一個包,會生成一個 package.json 的檔案
  24. npm install
    • 不帶任何引數,會按照根目錄下的 package.json 裡的依賴包
    • 將安裝包放在 ./node_modules 下(執行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下自動生成該目錄
    • 會把該包安裝到 node_modules 目錄中,不會修改 package.json,之後執行 npm install 命令時,不會自動安裝該包
  25. npm install [<@scope>/]
    • 區域性安裝某個包,預設安裝最新版本
  26. npm install [<@scope>/]@
    • 區域性安裝指定版本的某個包(按照tag)
    • 該命令的別名是:npm i
  27. npm install [<@scope>/] --save
    • 簡寫為:npm install [<@scope>/] -S
    • 會在 package.jsondependencies 屬性下新增該包的名稱及版本號,之後執行 npm install 命令時,會自動安裝模組依賴到 node_modules 目錄中
    • 執行 npm install --production 或者註明 NODE_ENV 變數值為 production 時,會自動下載模組到 node_modules 目錄中
  28. npm install [<@scope>/] --save-dev
    • 簡寫為 npm install [<@scope>/] -D
    • npm install [<@scope>/] --save 的區別是:
      • --save-dev 會將模組依賴寫入 devDependencies 節點,而 --save 是將模組依賴寫入 dependencies 節點
      • 執行 npm install --production 或者註明 NODE_ENV 變數值為 production 時,npm install [<@scope>/] --save-dev 不會自動下載模組到 node_modules 目錄中
  29. package.json 檔案裡面的 devDependencies 和 dependencies 物件的區別是什麼呢;
    • –save-dev 對應的 devDependencies 裡面的外掛只用於開發環境,不用於生產環境,而 –save 對應的 dependencies 是需要釋出到生產環境的
    • devDependencies 節點下的模組是開發時候需要的,如構建工具 glup、webpack,前處理器less、sass這些只在開發環境有用,所以使用 –save-dev 安裝
    • dependencies 節點下的模組是線上程式碼執行需要的,如 axios、vue-router、vuex,所以需要使用 –-save 安裝
  30. npm install-test
    • 它和 npm install 的區別是執行完 npm install 後立馬執行 npm test
  31. npm install [<@scope>/] -g
    • 全域性安裝某個包,預設安裝最新版本
  32. npm install [<@scope>/] --save
  33. npm help
    • 檢視某個命令的幫助資訊
  34. npm help-search
    • 在幫助文件中查詢包含關鍵詞的文件列表
  35. npm link [<@scope>/][@]
    • 將 npm 包建立快捷方式到全域性 npm 的路徑下
  36. npm login
    • 登陸使用者
  37. npm logout
    • 退出當前登陸的 npm 賬號
  38. npm ls、npm list、npm la、npm ll
    • 檢視當前 npm 包的依賴包列表
    • npm lsnpm list 的簡寫
  39. npm outdated
    • 檢視當前安裝的包裡版本是否過期的資訊
  40. npm owner add [<@scope>/]
    • 新增某個使用者作為某個包的管理者
  41. npm owner rm [<@scope>/]
    • 移除某個使用者作為某個包的管理者
  42. npm owner ls [<@scope>/]
    • 檢視某個包的管理者
  43. npm ping
    • 驗證 registry 的連通性和身份驗證
  44. npm pack
    • 將當前 npm 包檔案打成一個壓縮包
  45. npm prune
    • 移除沒有定義在package.json 依賴配置上的包
  46. npm publish [|] [–tag ] [–access <public|restricted>]
    • 釋出一個包
  47. 使用者個人資訊管理
    • npm profile get [–json|–parseable] []
      • 獲取個人資訊
    • npm profile set [–json|–parseable]
      • 設定個人資訊
    • npm profile set password
      • 設定密碼
    • npm profile enable-2fa [auth-and-writes|auth-only]
      • 設定開啟雙重驗證
    • npm profile disable-2fa
      • 關閉開啟雙重驗證
  48. npm prefix [-g]
    • 檢視最靠近 package.json 的父級目錄
  49. npm root [-g]
    • 檢視本地或者全域性 node-module 目錄的位置
  50. npm repo []
    • 開啟包的原始檔管理地址 比如 github 地址
  51. npm restart
    • 執行當前目錄下的 package.json 裡的 scripts 裡的 restart 命令,如果沒有,則執行 npm stop 再執行 npm start
  52. npm run-script [-- …]
    • 執行當前目錄下的 package.json 裡的 scripts 裡的命令
    • 該命令的別名是:npm run
  53. npm rebuild [[<@scope>/]…]
    • 執行編譯某個包
    • 該命令的別名是:npm rb
  54. npm search [–long] [search terms …]
    • 從遠端倉庫中搜尋某個包的資訊
  55. npm set key val
    • 設定某個配置
  56. npm stop
    • 執行當前目錄下的 package.json 裡的 scripts 裡的 top 命令,如果有的話
  57. npm start
    • 執行當前目錄下的 package.json 裡的 scripts 裡的 start 命令,如果有的話
  58. npm star […]
    • 將某個包加入當前使用者的感興趣的清單
  59. npm stars []
    • 列出該使用者所有感興趣的包
  60. npm shrinkwrap
    • 生成當前專案確定的依賴版本,類似 package-lock.json,但是還是有略微區別
  61. npm test [-- ]
    • 執行當前目錄下的 package.json 裡的 scripts 裡的 test 命令,如果有的話
  62. npm team
    • 管理所屬團隊或者新增團隊成員等
  63. npm token
    • 身份令牌管理
  64. npm uninstall
    • 解除安裝某個包
    • 該命令的別名是:npm un
  65. npm update [-g] […]
    • 更新包
    • 該命令的別名是:npm up [-g] […]
  66. npm unpublish [<@scope>/][@]
    • 取消釋出包,將釋出的包從遠端倉庫中刪除
  67. npm unstar […]
    • 將某個包移除當前使用者清單
  68. npm version
    • 檢視各個依賴的版本
  69. npm whoami
    • npm 當前登陸使用者
  70. npm -l
    • 檢視所有命令的用例資訊
  71. npm -h
    • 檢視某個命令的用法
本作品採用《CC 協議》,轉載必須註明作者和本文連結