node.js與nvm、npm的關係

在開發node.js應用項目的時候,咱們常常會用到兩個工具:nvm 和 npm。這兩個工具功能徹底不一樣卻由於名稱很像,致使初接觸的時候每每容易搞混淆。javascript

nvm介紹

nvm,全稱是Node Version Manager,是用來管理node.js的版本的。
由於Node.js在不斷的被完善,分版本迭代更新。
當前版本:nodejs.org/en/download…
歷史版本:nodejs.org/en/download…
不一樣的node項目所依賴的node版本可能不相同,本機也支持安裝多個node版本,因此能夠經過nvm來管理node的版本。html

經常使用命令

  • 安裝最新的版本:nvm install latest
  • 卸載某個版本:nvm uninstall 版本號
  • 查看當前版本:nvm version 或 nvm current
  • 安裝的版本列表:nvm list
  • 使用固定版本:nvm use 版本號

npm介紹

npm官網地址:www.npmjs.com/
npm官方文檔:docs.npmjs.com/前端

npm,全稱是Node Package Manager,是以JavaScript編寫的軟件包管理工具。用來安裝node項目所須要的一堆依賴包。
在運行一些node項目的時候,咱們常常須要在項目的根目錄下先執行命令java

npm install
複製代碼

該命令就是根據項目根目錄下的package.json配置文件,經過npm工具來安裝項目所須要的一堆依賴包。node

npm由來

文章npm 是幹什麼的?裏介紹了npm的來歷:
npm是一個前端項目的包管理工具,在沒有npm以前,一個前端項目想要使用其餘項目的代碼,即把別人寫的javascript代碼引入到項目中直接用,避免重複造輪子,提升開發效率,須要跑到其餘項目對應的官網上去下載對應的代碼放到本身的項目裏,致使若是該項目須要依賴其餘不少的項目,而後就要訪問不一樣的網址去下載對應的代碼程序員

  • 去 jQuery 官網下載 jQuery
  • 去 BootStrap 官網下載 BootStrap
  • 去 Underscore 官網下載 Underscore
  • ……

若是咱們要使用別人寫的某個包,每次都根據名稱搜索一下官方網站,下載代碼,解壓,再使用,很是繁瑣。這樣一來,確定很麻煩的,一位優秀的程序員忍不了,使用JavaScript開發了npm工具,經過它來解決這個問題。因而一個集中管理的工具應運而生:你們都把本身開發的模塊打包後放到npm官網上,若是要使用,直接經過npm安裝就能夠直接用,不用管代碼存在哪,應該從哪下載。npm

現在,npm (node package manager)已是前端開發普遍使用的包管理工具,你們也都經過npm來分享JS代碼。json

npm安裝

npm運行在 Node上的,因此須要安裝Node環境。
不過其實npm已經在Node.js安裝的時候順帶裝好了。咱們在命令提示符或者終端輸入bash

npm -v
複製代碼

應該看到相似的輸出:ide

npm經常使用命令

  • 查看當前npm版本: npm -v
  • 安裝包
    • npm install 包名
    • npm install 包名 -g : 全局安裝,安裝後在命令行任意目錄下可直接使用包命令
  • 更新包: npm install 包名@latest
  • 卸載包: npm uninstall 包名
  • 根據guide建立一個package.json文件: npm init
  • 換源:npm --registry 源地址

package 和 package.json文件

package(包)是用javascript代碼編寫的功能包 package.json文件是包的描述文件,在每一個項目的根目錄下面。

  • 描述包的信息(好比名稱、版本、入口文件等),以便發佈到npm registry
  • 描述項目所需的依賴包,方便經過npm install下載安裝 package.json文件的字段詳情介紹參考:javascript.ruanyifeng.com/nodejs/pack…

在運行一些node項目的時候,咱們常常須要在項目的根目錄下先執行命令

npm install
複製代碼

該命令就是根據項目根目錄下的package.json配置文件,經過npm工具來安裝項目所須要的一堆依賴包。

npm 共享 JS 代碼的過程就是:

  1. 有一個統一的package代碼倉庫 (npm官網)
  2. 編寫本身的package和package.json文件(參考npm官方文檔介紹)
  3. 經過 npm publish 把package放到這個倉庫裏
  4. 其餘人的項目裏想要使用某些package就寫到package.json文件中,而後運行npm install,就會自動將這些代碼下載下來,統一放到node_modules目錄中。

總結

nvm 和 npm 都是 node.js應用程序開發的經常使用工具。 nvm是node.js版本管理工具。 npm是JavaScript包管理工具。

相關文章
相關標籤/搜索