npm管理依賴包的版本

n管理node版本

  1. 安裝:
$ sudo npm install -g n

2.查看當(dāng)前已經(jīng)安裝的node版本以及正在使用的版本(前面有一個o)

$ n
  1. 安裝其他的node版本
安裝0.11.12版本
$ n 0.11.12
//安裝最新的版本
$  n latest
//安裝穩(wěn)定版本
$  n stable
// 刪除某個版本
$ n rm 0.10.1 
  1. 以指定的版本來執(zhí)行腳本
$ n use 0.10.21 some.js

https://blog.csdn.net/weiguang1017/article/details/53065031

使用nrm切換npm源

//安裝nrm:
npm install -g nrm
//查看已有的可以使用的源
nrm ls
//測試源的速度
nrm test
//切換到現(xiàn)有的源 如  nrm use taobao 之后使用npm就會從taobao下載
nrm use <源名稱>
// 新增源
nrm add<源名稱> <源地址>

部分常用命令

  1. 安裝命令
//全局安裝
 npm install 模塊名 -g
 //本地安裝
 npm install 模塊名
 //一次性安裝多個
 npm install 模塊1 模塊2 模塊3 
 //安裝開發(fā)時依賴包
 npm install 模塊名 --save-dev
 //安裝運行時依賴包
 npm install 模塊名 --save
  1. 查看安裝的目錄
 //查看項目中模塊所在的目錄
 npm root
 //查看全局安裝的模塊所在目錄
 npm root -g
  1. 查看某個包的各種屬性
//查看某個包對于各種包的依賴關(guān)系
 npm view 模塊名 dependencies
  1. 查看包的源文件地址
 //查看包的源文件地址
 npm view 模塊名 repository.url
  1. 查看npm的版本
npm -v 
  1. 查看某個模塊的bugs列表界面
npm bugs 模塊名
 //例如運行npm bugs antd則會打開antd倉庫的issue
  1. 打開某個模塊的倉庫界面
npm repo 模塊名
 //例如運行npm repo vue則會打開vue線上倉庫,效果如下圖

8.打開某個模塊的文檔

npm docs 模塊名
 //例如運行npm docs vue則會打開vue的readme.md文檔

9.打開某個模塊的主頁

 npm home 模塊名
 //例如運行npm home vue則會打開vue模塊的主頁
  1. 查看當(dāng)前已經(jīng)安裝的模塊
npm list
 //當(dāng)然我們也可以限制輸入的模塊層級,例如
 npm list --depth=0

11.清除未被使用到的模塊

 //有時在我們使用npm list的時候,可能會碰到一些問題,就是有些模塊并沒有被項目引用使用,我們還是安裝了這些模塊,那么我們可以一鍵清除這些沒有使用到的模塊
 npm prune
  1. 初始化
npm init
// 引導(dǎo)你創(chuàng)建一個package.json文件,包括名稱、版本、作者這些信息
  1. 清除npm的緩存
rm -rf node_modules
npm cache clean
 //慎重使用改命令
npm cache clean -f
  1. 卸載node模塊
npm uninstall 模塊名
  1. 更新node模塊
npm update 模塊名
 //當(dāng)然你也可以update 該模塊到指定版本
 npm update 模塊名 @版本號
 //如果安裝到最新版本可以使用以下命令
 npm install 模塊名@latest 
  1. 查看當(dāng)前模塊依賴的node最低版本號
npm view 模塊名 engines
  1. 查看模塊的當(dāng)前版本號
 npm view 模塊名 version
 //需要注意的是查看到的模塊版本是該模塊再遠(yuǎn)程倉庫的版本號,并不是當(dāng)前項目中所依賴的版本號。
 //查看當(dāng)前項目中應(yīng)用的某個模塊的版本號的命令為
 npm list 模塊名 version

語義化版本號

  • 每個版本號都形如1.2.3,由三個部分組成,依次叫做“主版本號”、“次版本號”和“修訂號”
  • 當(dāng)新版本無法兼容基于前一版本的代碼時,則提高主版本號
  • 當(dāng)新版本新增了功能與特性,但仍兼容前一版本的代碼時,則提高次版本號
  • 當(dāng)新版本僅僅修正漏洞或者增強效率,仍然兼容前一版本代碼,則提高修訂號
  • 默認(rèn)情況下,npm install --save下載的都是最新版本,并且會在package.json文件里登記一個最優(yōu)版本號,
"cluster": ">= 0.7.7",  
 // cluster 版本必須大于等于 0.7.7 或者限定版本范圍 npm install cluster@">=0.7.7<0.8.0"
"commander": "^2.6.0",
/* ^會匹配最新的大版本依賴包,=大版本不變即可,其他版本隨便更新。
當(dāng)我們npm install 的時候,安裝到 node_modules 目錄下的
 commander開源包可能是 2.6.0 或 2.7.3 或 2.8.9 ......不包括3.0.0
只要前面2不變即可.這種版本限制相對對寬松,還是少用為妙.*/
"commander": "~1.2.3",
/* ~會匹配最近的小版本依賴包,比如~1.2.3會匹配所有1.2.x版本,
但是不包括1.3.0*/
"async" : "1.2.3",
// 指定特定的版本號 npm install async@1.2.3
"async" : "*",
// 最糟糕的一種版本控制,一點限制沒有.

使用npm shrinkwrap命令鎖定項目依賴

在開發(fā)某個Node項目時,進行到某個節(jié)點,一切都運行順利,說明目前所有的依賴包(以及更底層的依賴包)和你的代碼兼容得很好。這個時候,就可以在項目文件夾下運行上面的這個命令。它會生成一個npm-shrinkwrap.json文件,記錄目前所有依賴包(及更底層依賴包)的版本信息。這樣當(dāng)以后你(或者你的同事、你的用戶)運行npm install命令時,npm首先會找npm-shrinkwrap.json文件,依照其中的信息來準(zhǔn)確地安裝每一個依賴包,只有當(dāng)這個文件不存在時,npm才會使用package.json。
在這之后開發(fā)的過程中,如果想要更新某個依賴包,比如將Express從4.13.0更新到4.14.1,那么就只需npm install express@4.14.1;或者想要添加新的依賴包,比如Helmet,也只需npm install helmet。經(jīng)過一段時間的測試與開發(fā),當(dāng)你確定這些新版本新安裝的依賴包與自己的代碼兼容后,就可以再次運行npm shrinkwrap命令來鎖定依賴包的版本。
如果package-lock.json和npm-shrinkwrap.json存在于包的根,package-lock.json將被完全忽略。

uber 發(fā)布了 npm-shrinkwrap 工具 ,

在(當(dāng)前機器的當(dāng)前用戶的)所有項目禁用 package-lock.json
npm config set package-lock false

http://www.itdecent.cn/p/b5acafba2633

查看npm的配置

npm config list

更換源

要更換國內(nèi)鏡像,編輯 ~/.npmrc 加入下面內(nèi)容

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

https://blog.csdn.net/u010398650/article/details/78925388

npm包維護人員管理

npm owner add <user> [<@scope>/]<pkg>
npm owner rm <user> [<@scope>/]<pkg>
npm owner ls [<@scope>/]<pkg>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容