Node.js打包管理工具NPM用法
一、NPM使用介紹
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
(1)允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用。
(2)允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。
(3)允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用。
由于新版的nodejs已經(jīng)集成了npm,所以之前npm也一并安裝好了。同樣可以通過輸入 "npm -v" 來測試是否成功安裝。命令如下,出現(xiàn)版本提示表示安裝成功:
npm -v
如果你安裝的是舊版本的 npm,可以很容易得通過 npm 命令來升級,命令如下:
npm install npm -g
或淘寶鏡像
npm install -g cnpm --registry=https://registry.npm.taobao.org
二、NPM全局安裝和本地安裝
本地安裝:
? 【1】將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當(dāng)前執(zhí)行 npm 命令的目錄下生成 node_modules 目錄。
? 【2】可以通過 require() 來引入本地安裝的包。
全局安裝:
? 【1】將安裝包放在 /usr/local 下或者你 node 的安裝目錄。
? 【2】可以直接在命令行里使用。
本地安裝與全局安裝命令:
npm install ModuleName # 本地安裝 npm install ModuleName -g # 全局安裝
三、npm安裝package.json
在nodejs安裝目錄下已經(jīng)存在package.json文件,所以不需要進行全局安裝package.json,我們下面介紹本地安裝package.json文件。
package.json是一個描述和管理的文件,通過如下命令進行安裝:
npm init
命令執(zhí)行后會提示輸入信息,全部使用默認(rèn)值直接回車,最后提示 Is this OK(yes) ,此時輸入yes即可。
安裝成功后會創(chuàng)建package.json文件,文件屬性內(nèi)容說明如下:
name - 包名。 version - 包的版本號。 description - 包的描述。 homepage - 包的官網(wǎng) url 。 author - 包的作者姓名。 contributors - 包的其他貢獻者姓名。 dependencies - 依賴包列表。如果依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下。 repository - 包代碼存放的地方的類型,可以是 git 或 svn,git 可在 Github 上。 main - main 字段指定了程序的主入口文件,require('moduleName') 就會加載這個文件。這個字段的默認(rèn)值是模塊根目錄下面的 index.js。 keywords - 關(guān)鍵字
四、npm安裝模塊
npm本地安裝模塊,需要先安裝package.json。
以web框架模塊 express為例,進行express模塊的安裝,命令如下:
npm install express # 本地安裝 npm install express -g # 全局安裝
如果出現(xiàn)以下錯誤:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解決辦法為:
$ npm config set proxy null
五、模塊的其他操作
在操作命令中,最后加上 -g 代表進行全局操作。
查看模塊安裝信息:
npm list
查看某個模塊的版本號:
npm list express
更新模塊:
npm update express
搜索模塊:
npm search express
卸載模塊:
npm uninstall express
卸載后,你可以到 /node_modules/ 目錄下查看包是否還存在,或者使用以下命令查看:
npm ls
六、版本號
使用NPM下載和發(fā)布代碼時都會接觸到版本號。NPM使用語義版本號來管理代碼,這里簡單介紹一下。
語義版本號分為X.Y.Z三位,分別代表主版本號、次版本號和補丁版本號。當(dāng)代碼變更時,版本號按以下原則更新。
(1)如果只是修復(fù)bug,需要更新Z位。
(2)如果是新增了功能,但是向下兼容,需要更新Y位。
(3)如果有大變動,向下不兼容,需要更新X位。
版本號有了這個保證后,在申明第三方包依賴時,除了可依賴于一個固定版本號外,還可依賴于某個范圍的版本號。例如"argv": "0.0.x"表示依賴于0.0.x系列的最
新版argv。
NPM支持的所有版本號范圍指定方式可以查看官方文檔。
七、npm常用命令
除了本章介紹的部分外,NPM還提供了很多功能,package.json里也有很多其它有用的字段。
除了可以在npmjs.org/doc/查看官方文檔外,這里再介紹一些NPM常用命令。
NPM提供了很多命令,例如install和publish,使用npm help可查看所有命令。
使用npm help <command>可查看某條命令的詳細(xì)幫助,例如npm help install。 在package.json所在目錄下使用npm install . -g可先在本地安裝當(dāng)前命令行程序,可用于發(fā)布前的本地測試。 使用npm update <package>可以把當(dāng)前目錄下node_modules子目錄里邊的對應(yīng)模塊更新至最新版本。 使用npm update <package> -g可以把全局安裝的對應(yīng)命令行程序更新至最新版。 使用npm cache clear可以清空NPM本地緩存,用于對付使用相同版本號發(fā)布新版本代碼的人。 使用npm unpublish <package>@<version>可以撤銷發(fā)布自己發(fā)布過的某個版本代碼。
八、使用淘寶的npm鏡像
大家都知道國內(nèi)直接使用 npm 的官方鏡像是非常慢的,這里推薦使用淘寶 NPM 鏡像。
淘寶 NPM 鏡像是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務(wù)同步。
你可以使用淘寶定制的 cnpm (gzip 壓縮支持) 命令行工具代替默認(rèn)的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
這樣就可以使用 cnpm 命令來安裝模塊了:
cnpm install [name]
九、安裝報錯
如果你遇到了使用 npm 安 裝node_modules 總是提示報錯:報錯: npm resource busy or locked.....。
可以先刪除以前安裝的 node_modules :
npm cache clean npm install
到此這篇關(guān)于Node.js打包管理工具NPM用法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
node+express+ejs使用模版引擎做的一個示例demo
本篇文章主要介紹了node+express+ejs使用模版引擎做的一個示例demo,具有一定參考價值,有興趣的小伙伴可以了解一下2017-09-09解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306的問題
這篇文章主要介紹了解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306報錯的相關(guān)資料,文中將問題描述的很清楚,解決的方法也介紹的很完整,需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03node.JS md5加密中文與php結(jié)果不一致的解決方法
本篇文章主要介紹了node.JS md5加密中文與php結(jié)果不一致的解決方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-05-05Node.js+Express+MySql實現(xiàn)用戶登錄注冊功能
這篇文章主要為大家詳細(xì)介紹了Node.js+Express+MySql實現(xiàn)用戶登錄注冊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Nodejs實現(xiàn)爬蟲抓取數(shù)據(jù)實例解析
這篇文章主要介紹了Nodejs實現(xiàn)爬蟲抓取數(shù)據(jù)實例解析,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2018-07-07