Node.js安裝教學課程和NPM套件管理器使用詳解_node.js
2009年的JSCOnf大會上,一個叫Ryan Dahl的年輕程式設計師向人們展示了一個他正在做的項目,一個基於Google V8引擎的JavaScript運行平台,它提供了一套事件循環和低IO的應用程式介面(API)。和其他的服務端平台不同, JavaScript天生就是事件驅動IO,而這個專案又大大降低了編寫事件驅動應用程式的複雜度,因此它很快就以不可思議的速度的成長流行起來,並應用到實際項目中。 (Jack:這段翻譯的不太可靠,原文:This project was not like other server-side JavaScript platforms where all the I/O primitives were event-driven and there was no way around it.)
這個專案被命名為Node.js,開發人員習慣叫它Node,Node提供了一套純事件驅動非堵塞的工具包,用來建立高並發應用程式。
注意:Node可以讓你簡單的建立快速可擴展的網路服務。
自從被Ryan Dahl介紹以後,Node受到了業界廣泛的關注。他們已經開始用Node來部署快速且可擴展的網路服務。 Node實在太吸引人了。
一方面因為JavaScript,JavaScript是這個星球上應用最廣泛的程式語言,大部分Web程式設計師都在瀏覽器端使用過JavaScript,伺服器端是它一個很自然的擴充。
另一方面因為Node嬌小可愛,Node的核心函數集很小,現有的API都非常精煉,為開發人員最小化了複雜度。當你想建立一些更複雜的應用時,你只用挑選,安裝一些你喜歡的第三方模組就可以了。
還有一個讓Node如此吸引人的原因,它很容易上手,你可以在幾分鐘內完成下載安裝,並運行起來.
通常按照官方網站(http://nodejs.org)上的步驟安裝Node就可以了,它支援Windows,Linux,Macintosh以及Solaris。
在Windows上安裝Node
Node從0.6.0版本開始支援Windows,要在Windows上安裝Node,只用從Http://nodejs.org/#download下載node-v*.msi,然後雙擊執行即可,然後你可能會遇到類似圖1-1的安全對話框。
圖1-1
點選「執行」按鈕,等下載完畢後會出現另外一個安全對話框(圖1-2),提醒你是否確定操作。
圖1-2
如果你同意,Node安裝精靈就會出現(圖1-3),點選下一步Node就會開始安裝,等一小會兒就安裝完啦!見圖1-4
圖1-3
圖1-4
在Mac OS X下安裝
如果你使用Mac OS X,你可以使用安裝精靈來安裝Node,首先,先到http://nodejs.org/#download下載node-v*.pkg,下載完以後雙擊運行,你會看到安裝精靈的第一個對話框,見圖1-5
圖1-5
點「繼續」安裝,然後精靈會要求你輸入系統使用者的密碼,確定後安裝就會開始,又是一小會兒,Node又安裝好啦!見圖1-6
圖1-6
用源碼安裝
如果你使用UNIX系統,可以透過編譯原始碼來安裝。首先,你需要選擇你要安裝的Node版本,然後下載對應的源碼並構建,安裝運行Node。
注意:Node依賴幾個第三方程式碼庫,不過幸運的是它們大部分已經包含在Node發布包裡了,如果你從源碼開始構建,你需要下面兩個東西:
1.python(2.4以上版本)-隨Node發佈的建置工具需要python環境來運作
2.libssl-dev -如果你打算使用SSL/TLS加密,你需要安裝這個,libssl是openssl工具用到的類別庫,在Linux和UNIX系統下,你通常可以用系統的套件管理器來安裝。 libssl在Mac OS X下是預先安裝的,因此如果你用Mac OS X系統通常就不用再安裝libssl了。
選擇Node版本
官方網站nodejs.org上通常有兩個不同的Node版本可以下載:穩定版和最新版。
對於Node,版本號最小位代表這個版本的穩定性,穩定版本使用偶數數字(如0.2,0.4,0.6),非穩定版本使用奇數(0.1,0.3,0.5,0.7)。
非穩定版不僅功能上不穩定,而且API也有可能在後續版本中改變,穩定版中已發布的API是不會修改的。對於每個穩定分支,新的補丁不僅包含bug修復,還包含非穩定版中API的修改。
除非你想測試下最新非穩定版中的新特性,否則你應該選擇最新的穩定版本。非穩定版本對Node核心團隊來說就像是用來測試新功能的戰場。
雖然,越來越多的專案和公司成功的在他們的產品中使用了Node(官網首頁有展示),但是你可能得學著忍受API從非穩定版到穩定版時發生的變化,當然,這就是學習新技術的代價。
下載Node原始碼
現在你知道該下載哪個版本了,然後到官方網站http://nodejs.org找到對應的tar包,然後復制下載鏈接,如果你使用的UNIX系統,你的系統可能已經安裝了wget,這表示你用一句shell指令就可以下載了:
$ wget http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
如果你沒安裝wget,可能需要使用curl:
$ curl –O http://nodejs.org/dist/v0.6.1/node-v0.6.12.tar.gz
如果你這兩個工具都沒有安裝,你得想別的辦法把tar包下載到你的本地目錄裡——比如透過瀏覽器或透過本地網路。
(本書的範例使用寫作時的最新的穩定版:0.6.12)
建構Node
現在我們有原始碼了,可以用它來建構Node的可執行檔。首先,你需要解壓縮前面下載的tar包:
$ tar xfz node-v0.6.12.tar.gz
然後進入原始碼目錄:
配置:
順利的話你會看到成功的提示:
複製程式碼
程式碼如下:
複製程式碼
程式碼如下:
複製程式碼
程式碼如下:
build' finished successfully (0.734s)
這個操作會把Node執行檔複製到/user/local/bin/node
如果遇到了權限問題,在指令前面加上sudo,以root使用者執行即可:
$ sudo make install
運行Node
現在已經可以運行Node了,你可以先簡單的體驗一下Node的命令列互動介面(CLI:command-line interface),只需要呼叫Node可執行檔就行:
$ node
這個操作會啟動Node的命令列互動介面,並等待你的輸入,輸入下面的指令讓Node做點事看看:
> console.log('Hello World!');
Hello World!
> undefined
也可以執行一個JavaScript腳本文件,例如,你建立了一個叫hello_world.js的文件,並包含以下內容:
console.log('Hello World!');
然後用這個腳本的檔名作為第一個參數參數來呼叫Node執行檔:
$ node hello_world.js
Hello World!
最後,用Ctrl D或Ctrl C來退出Node命令列互動介面。
準備使用Node包管理器
到目前為止,你只能使用Node本身的語言特性和核心函數,這就是為什麼大多數程式平台都有一個用來下載、安裝,管理第三方模組的系統,在Node裡,我們使用Node套件管理器(NPM: Node Package Manager)
NPM包含三個部分:一個用來存放第三方包的程式碼庫,一個管理本地已經安裝包的機制,一個用來定義包依賴關係的標準。 NPM提供了一個公開的註冊服務,它包含了大家發布的所有包,並提供了一個命令列工具,用來下載,安裝和管理這些包。你可以按照Node的套件格式標準來制定你的套件或應用需要依賴的其他第三方套件。
雖然不用了解NPM就可以開始使用Node,但是如果要用第三方包你就必須要學習它了,因為Node本身只提供了一些低層的API,使用第三方模組可以大幅減少開發複雜度,不用什麼都得親自編碼。 NPM允許你在一個沙箱裡下載和使用模組,你可以盡情地試驗你感興趣的東西,而不用擔心污染全局的包環境。
NPM和 Node以前需要獨立安裝,從0.6.0版本以後,NPM已經包含在Node安裝套件裡了。
使用NPM來安裝,升級和卸載套件
NPM非常強大,你可以用很多方式來使用,它的程式碼庫集中管理了所有的公共模組,你可以透過http://search.npmjs.org來存取它。 Node開源模組的作者可以把自己的模組發佈到NPM上,其他人就可以用套件安裝描述裡的模組名來下載,安裝這個模組。
這部分內容,包含一些安裝,刪除包的常用操作,知道這些足以讓你開始管理你自己應用程式所依賴的第三方包了,雖然如此,你首先還是需要明白這些命令在“全局”和「本地」模式下的區別,以及他們是如何影響依賴關係和模組查找的。
NPM模組的全域和本地模式
NPM的操作主要有兩種模式:全域和本地。這兩種模式會影響套件存放的目錄結構,以及Node載入套件時的順序。
本地模式是NPM的預設操作模式,在這個模式下,NPM只工作在工作目錄下,不會造成系統範圍的修改,這個模式讓你在某個Node程式下盡情地安裝,測試模組,而不會影響你電腦上的其他Node程式。
全域模式適合那些將被許多程式使用,而且總是被全域載入的公共模組,例如命令列工具這些公不會被應用程式直接使用的模組。
如果你不知道一個模組該用哪個模式安裝,那就應該使用本地模式。如果一個模組的作者需要某個模組被全域的安裝,通常他會在安裝說明裡指出。
全域模式
如果你安裝Node時使用的預設目錄,在全域模式下面,NPM會把套件安裝到/usr/local/lib/node_modules。如果你執行下面的指令,NPM會搜尋並下載名為sax的最新版並安裝到/usr/local/lib/node_modules/sax目錄下。
注意:如果你目前shell使用者沒有足夠的權限,你需要使用root使用者登入或使用sudo來執行指令:
$ sudo npm install –g sax
接著在你的Node腳本裡需要sax模組的時候,使用下面的語句來載入:
var sax = require(‘sax');
如果你沒有在應用程式目錄下用本機模式安裝過sax,Node將會在前面的安裝目錄中尋找名為sax的模組,否則會優先載入本機版本。
預設模式是本地模式,因此你需要在NPM指令後面加上-g標記來啟用全域模式。
本地模式
本地模式是Node包依賴機制的預設推薦模式,在這個模式下,NPM安裝的所有東西都在當前工作目錄(根目錄也不例外),而不會影響任何全域的設定。這種機制可以讓你一個個的設定應用程式的依賴模組以及它們的版本,而不用擔心會污染全域的模組空間。這意味著你可以有兩個依賴同一個模組不同版本的應用,它們卻不會產生衝突。
在這個模式下,NPM使用目前工作目錄下的node_modules目錄來存放模組,例如你目前工作目錄是/home/user/apps/my_app,NPM將會用/home/user/apps/my_app/node_modules來存放所有本地模組。這意味著,如果你在程式碼裡使用模組名稱來引用模組,Node首先會到這個本地的node_modules目錄下查找,如果沒找到才會去搜尋全域的node_modules目錄,本地模組優先權總是高於全域模組。
安裝模組
使用下面指令來安裝一個模組的最新版本:
$ npm install
例如,下載和安裝名稱一個名為sax的模組的最新版本,你首先需要把你應用程式的根目錄設定為目前目錄,然後輸入:
$ npm install sax
這個操作,會在目前目錄下建立node_modules子目錄(如果不存在的話),然後在下面安裝sax模組。
你也可以透過下面的指令,來選擇安裝某個特定的版本:
$ npm install
使用指定的版本號替換指令裡的佔位符即可,例如,要下載sax模組的0.2.5版本,你只用執行:
$ npm install sax@0.2.5
佔位符也可以用一個版本範圍來替換,例如,要安裝sax模組0.2分支的最新版,可以運行:
或者,安裝版本號小於0.3的最新版:
$ npm install sax@”
甚至可以指定一個版本範圍:
$ npm install sax@">=0.1.0
卸載模組
使用下列指令可以卸載一個本機模組:
$ npm uninstall
如果要卸載的是一個全域模組,加上-g標記即可:
$ npm uninstall -g
更新模組
使用下列指令來更新本機模組:
$ npm update
這個指令會嘗試取得最新版的模組包並更新本機版本,如果本機沒有安裝,則會安裝它,如果需要更新的是全域環境,需要加上-g標記:
$ npm update –g
使用執行檔
模組可以包含一個或多個可執行文件,如果你使用預設目錄設定來安裝一個全域模組,NPM會把執行檔安裝到/usr/local/bin目錄下,這個目錄通常也被設定為系統PATH環境變數的一部份。如果你局部安裝這個模組,NPM會把所有執行檔放到./node_modules/.bin目錄下。
處理依賴關係
NPM不僅安裝你需要的模組包,而且會安裝這些模組所依賴的其它模組,例如,如果你需要安裝模組A,而A又依賴模組B和C,那麼在你安裝A的時候B和C同時會被安裝到./node_modules/A/node_modules目錄下。
例如,你用下面的指令本地安裝了一個叫nano的模組:
$npm install nano
NPM的輸出會類似這樣:
這告訴你nano模組依賴underscore和request兩個模組,也指出了安裝的版本。如果你現在去查看./node_modules/nano/node_modules目錄,你會發現這兩個模組已經被安裝了:
$ ls node_modules/nano/node_modules
request underscore
使用package.json檔案定義依賴關係
當開始編寫一個應用程式時,可以在應用程式根目錄建立一個package.json檔案來定義應用程式的元數據,例如應用程式的名字,作者,程式碼庫位址,聯絡方式等等。程式依賴的外部模組也在這個檔案裡指定。
如果不打算把程式發佈到NPM上,就可以不用建造這個文件,不過即使你的程式是私有的,這個文件其實也有用,它可以告訴NPM這個應用程式的依賴關係。 (譯者註:例如你把專案原始碼從開發環境複製到生產環境,可以透過呼叫npm install來一次安裝所有依賴套件,npm會透過package.json內指定的依賴關係來自動完成依賴模組的下載安裝,不用自己一個個去操作,稍候有詳細介紹)
package.json是一個JSON格式的文件,包含了一系列屬性,但是如果僅僅是為了說明程式的依賴關係,則只用一個dependencies屬性就行。例如,一個叫做MyApp的應用程式依賴sax,nano和request模組,只需要建立這樣一個package.json:
{
"name" : "MyApp",
"version" : "1.0.0",
"dependencies" : {
"nano" : "* "nano" : "*",
}
}
注意:你可能發現,如果你指定了name和version字段,NPM會不工作,這只會發生在舊版本的NPM,因為最初NPM是針對公共模組使用的,而不是私有程式。
然後,在應用程式的根目錄,執行:
你也可以透過下面的指令把所有本地模組更新到符合你定義的依賴項設定的最新版本:
事實上,你只用update方法就行了,因為它會讓NPM自動取得那些缺少的依賴模組。
小結
本章學習如何安裝Node和Node包管理器(NPM),現在你可以使用NPM來安裝,卸載,刪除任何第三方模組,還學習瞭如何配合package.json文件來使用NPM管理應用程式依賴項。
現在你安裝了Node和NPM,可以去動手試試啦,不過,首先你需要知道一些關於Node和事件驅動的相關知識,下章將會介紹這些內容。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用pip命令輕鬆安裝OpenCV教程,需要具體程式碼範例OpenCV(OpenSourceComputerVisionLibrary)是一個開源的電腦視覺庫,它包含了大量的電腦視覺演算法和函數,可以幫助開發者快速建立圖像和視訊處理相關的應用程式。在使用OpenCV之前,我們需要先安裝它。幸運的是,Python提供了一個強大的工具pip來管理第三方函式庫

快速入門PyCharm社群版:詳細安裝教學全解析導言:PyCharm是一個功能強大的Python整合開發環境(IDE),它提供了一套全面的工具,可以幫助開發人員更有效率地編寫Python程式碼。本文將詳細介紹如何安裝PyCharm社群版,並提供具體的程式碼範例,幫助初學者快速入門。第一步:下載和安裝PyCharm社群版要使用PyCharm,首先需要從其官方網站上下

PyCharm安裝教學:輕鬆學會如何安裝Selenium,需要具體程式碼範例作為Python開發者而言,我們經常需要使用到各種第三方程式庫和工具來完成專案開發。其中,Selenium是一個非常常用的庫,用於自動化測試和Web應用程式的UI測試。而PyCharm作為Python開發的整合開發環境(IDE),為我們提供了方便快速的方式進行Python程式碼開發,那麼如何

近期有很多小夥伴諮詢小編solidworks2016怎麼安裝,接下來就讓我們一起學習一下solidworks2016的安裝教學吧,希望可以幫助大家。 1.首先要退出防毒軟體,並確保斷開網路(如圖所示)。 2.然後右鍵安裝包,選擇解壓縮到SW2016安裝包(如圖)。 3.雙擊進入解壓縮後的資料夾。右鍵點選setup.exe,點選以管理員身分執行(如圖)。 4、然後點選確定(如圖)。 5.然後勾選【單機安裝(此電腦上)】,點選【下一步】(如圖所示)。 6、然後輸入序號,點選【下一步】(如圖所示)。 7、

Python新手必備:簡單易懂的pip安裝教學引言:在Python程式設計中,安裝外部函式庫是非常重要的一步。而pip作為Python官方推薦的套件管理工具,簡單易懂且功能強大,成為Python新手必備技能之一。本文將為大家介紹pip的安裝方法,以及具體的程式碼範例,幫助大家輕鬆上手。一、pip的安裝在你開始使用pip之前,需要先進行安裝。下面是pip的安裝方法:首先,

簡易pandas安裝教學:詳細指導如何在不同作業系統上安裝pandas,需要具體程式碼範例隨著資料處理和分析的需求不斷增加,pandas成為了許多資料科學家和分析師們的首選工具之一。 pandas是一個強大的資料處理和分析庫,可以輕鬆處理和分析大量結構化資料。本文將詳細介紹如何在不同作業系統上安裝pandas,以及提供具體的程式碼範例。在Windows作業系統上安

小夥伴們知道NeXus桌面美化怎麼安裝嗎?今天小編就來講解NeXus桌面美化的安裝教程,感興趣的快跟小編一起來看看吧,希望能夠幫助到大家。 1.在本站下載Nexus桌面美化插件最新版軟體包(如圖所示)。 2.解壓縮Nexus桌面美化插件軟體,運行檔案(如圖所示)。 3.雙擊開啟,進入Nexus桌面美化插件軟體介面,請仔細閱讀下面的安裝許可協議,是否接受上述許可證協議的所有條款,點擊我同意,點擊下一步(如圖所示)。 4.選擇目的地位置,軟體將被安裝到以下列出的資料夾中,要選擇不同位置,建入新的路徑,點擊下一

Pygame安裝教學:快速掌握遊戲開發的基礎,需要具體程式碼範例引言:在遊戲開發領域中,Pygame是一個非常受歡迎的Python庫。它為開發者提供了豐富的功能和易用的接口,讓他們能夠快速地開發出優質的遊戲。本文將為你詳細介紹如何安裝Pygame,並提供一些具體的程式碼範例,以幫助你快速掌握遊戲開發的基礎。一、Pygame的安裝安裝Python在開始安裝Pyga
