node.js的npm的安裝
本來不打算介紹node.js的npm的安裝,但是發現node.js一些包的管理是通過npm來實現,還是要簡單介紹一下npm。
1、npm是什麼
npm是一個node包管理和分發工具,已經成為了非官方的發布node模組(包)的標準。有了npm,可以很快的找到特定服務要使用的包,進行下載、安裝以及管理已經安裝的包。
2、npm的安裝(windows)
[1]我們要先配置npm的全域模組的存放路徑以及cache的路徑,例如我希望將以上兩個檔案夾放在NodeJS的主目錄下,便在NodeJs下建立"node_global"及"node_cache"兩個檔案夾。如
[2]啟動cmd,輸入
npm config set prefix "C:\Program Files\nodejs\node_global"
以及
npm config set cache "C:\Program Files\nodejs\node_cache"
[3]現在我們來裝個模組試試,選擇express這個比較常用的模組。同樣在cmd命令列裡面,輸入“npm install express -g”(“-g”這個參數意思是裝到global目錄下,也就是上面說設定的“C:\Program Files\nodejs\node_global”裡面。)。待cmd裡面的安裝過程滾動完成後,會提示“express”裝在了哪、版本還有它的目錄結構是怎樣。如
[4]如果存在“xxx不是內部或外部命令,也不是可啟動並執行程式或批次檔”這個錯誤,需要設定環境變數在系統變數下建立"NODE_PATH",輸入“C:\Program Files\nodejs\node_global\node_modules”。
3、package.json
npm命令運行時會讀取目前的目錄的 package.json 檔案和解釋這個檔案,這個檔案基於 Packages/1.1 規範。在這個檔案裡你可以定義你的應用程式名稱( name )、應用描述( description )、關鍵字( keywords )、版本號碼( version )、應用的配置項( config )、首頁( homepage )、作者( author )、資源倉庫地址( repository )、bug的提交地址( bugs ),授權方式( licenses )、目錄( directories )、應用入口檔案( main )、命令列檔案( bin )、應用相依模組( dependencies )、開發環境相依模組( devDependencies )、運行引擎( engines )和指令碼( scripts )等。
對於開發人員而言,開發和發布模組都依賴於他對這個檔案 package.json 所包含的意義的正確理解。我們下面用一個本文共用的例子來說明:
{ "name": "test", "version": "0.1.0", "description": "A testing package", "author": "A messed author ", "dependencies": { "express": "1.x.x", "ejs": "0.4.2", "redis": ">= 0.6.7" }, "devDependencies": { "vows": "0.5.x" }, "main": "index", "bin": { "test": "./bin/test.js" }, "scripts": { "start": "node server.js", "test": "vows test/*.js", "preinstall": "./configure", "install": "make && make install" }, "engines": { "node": "0.4.x" }}
4、npm常用命令
npm install 安裝nodejs的依賴包
例如npm install express 就會預設安裝express的最新版本,也可以通過在後面加版本號碼的方式安裝指定版本,如npm install express@3.0.6
npm install -g 將包安裝到全域環境中
但是代碼中,直接通過require()的方式是沒有辦法調用全域安裝的包的。全域的安裝是供命令列使用的,就好像全域安裝了vmarket後,就可以在命令列中直接運行vm命令
npm install --save 安裝的同時,將資訊寫入package.json中
項目路徑中如果有package.json檔案時,直接使用npm install方法就可以根據dependencies配置安裝所有的依賴包
這樣代碼提交到github時,就不用提交node_modules這個檔案夾了。
npm init 會引導你建立一個package.json檔案,包括名稱、版本、作者這些資訊等
npm remove 移除
npm update 更新
npm ls 列出當前安裝的了所有包
npm root 查看當前包的安裝路徑
npm root -g 查看全域的包的安裝路徑
npm help 協助,如果要單獨查看install命令的協助,可以使用的npm help install