nvm,nodejs和npm安裝使用

快速搭建 Node.js 開發環境html

若是你想長期作 node 開發, 或者想快速更新 node 版本, 或者想快速切換 node 版本,
那麼在非 Windows(如 osx, linux) 環境下, 請使用 nvm 來安裝你的 node 開發環境, 保持系統的乾淨.
若是你使用 Windows 作開發, 那麼你可使用 nvmw 來替代 nvmnode

osx, linux 環境

若是你是 windows 環境開發, 請跳過這裏, 直接查看下一章.linux

git clone nvm

直接從 github clone nvm 到本地, 這裏假設你們都使用 ~/git 目錄存放 git 項目:git

$ cd ~/git
$ git clone https://github.com/creationix/nvm.git

配置終端啓動時自動執行 source ~/git/nvm/nvm.sh,
在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加如下命令:github

export NVM_DIR="$HOME/.nvm"

執行以下命令重啓配置文件
source ~/.bash_profile.sh

從新打開你的終端, 輸入 nvmweb

$ nvm

Node Version Manager

Usage:
    nvm help                    Show this message
    nvm --version               Print out the latest released version of nvm
    nvm install [-s] <version>  Download and install a <version>, [-s] from source
    nvm uninstall <version>     Uninstall a version
    nvm use <version>           Modify PATH to use <version>
    nvm run <version> [<args>]  Run <version> with <args> as arguments
    nvm current                 Display currently activated version
    nvm ls                      List installed versions
    nvm ls <version>            List versions matching a given description
    nvm ls-remote               List remote versions available for install
    nvm deactivate              Undo effects of NVM on current shell
    nvm alias [<pattern>]       Show all aliases beginning with <pattern>
    nvm alias <name> <version>  Set an alias named <name> pointing to <version>
    nvm unalias <name>          Deletes the alias named <name>
    nvm copy-packages <version> Install global NPM packages contained in <version> to current version

Example:
    nvm install v0.10.24        Install a specific version number
    nvm use 0.10                Use the latest available 0.10.x release
    nvm run 0.10.24 myApp.js    Run myApp.js using node v0.10.24
    nvm alias default 0.10.24   Set default node version on a shell

Note:
    to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders

經過 nvm 安裝任意版本的 node

nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,
好在 nvm 以及支持從鏡像服務器下載包, 因而咱們能夠方便地從七牛的 node dist 鏡像下載:shell

$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4

因而你就會看到一段很是快速進度條:npm

######################################################################## 100.0%
Now using node v4.3.2

若是你不想每次都輸入環境變量 NVM_NODEJS_ORG_MIRROR, 那麼我建議你加入到 .bashrc 文件中:windows

# nvm
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
source ~/git/nvm/nvm.sh

而後你能夠繼續很是方便地安裝各個版本的 node 了, 你能夠查看一下你當前已經安裝的版本:瀏覽器

$ nvm ls
         nvm
     v0.8.26
    v0.10.26
    v0.11.11
->  v4.3.2

windows 環境

多版本nodejs管理工具nvm for windows

經過 nvm 安裝任意版本的 node

nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,
npm也是從國外服務器下載的,基本下載不下來
好在 nvm 以及支持從鏡像服務器下載包, 因而咱們能夠方便地從淘寶的 node dist 鏡像下載:

set "NVMW_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node"
set "NVMW_NPMJS_COM_MIRROR=https://npm.taobao.org/mirrors/npm"
nvm install 4.3.2

若是你不想每次都輸入環境變量 NVMW_NODEJS_ORG_MIRROR, 那麼我建議你在全局環境變量中增長它.

而後你能夠繼續很是方便地安裝各個版本的 node 了, 你能夠查看一下你當前已經安裝的版本:

$ nvm list

    5.8.0
    5.4.0
  * 5.10.1 (Currently using 64-bit executable)
    5.0.0

設置npm的獲取地址
npm config set registry https://registry.npm.taobao.org

使用 cnpm 加速 npm

若是想升級npm自身,則會遇到一點問題,由於nodejs附帶了npm,所以沒法全局升級npm,須要在nodejs的安裝目錄下局部升級npm:

D: 
cd "nodejs"
npm update npm --registry=https://registry.npm.taobao.org

npm使用國內鏡像安裝cnpm,能夠安裝任何包

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

同理 nvm , npm 默認是從國外的源獲取和下載包信息, 不慢才奇怪.
能夠經過簡單的 ---registry 參數, 使用國內的鏡像 https://registry.npm.taobao.org :

$ npm --registry=https://registry.npm.taobao.org install koa

因而屏幕又嘩啦嘩啦地一大片輸出:

$ npm --registry=https://registry.npm.taobao.org install koa
npm http GET https://registry.npm.taobao.org/koa
npm http 200 https://registry.npm.taobao.org/koa
...
npm http 200 https://registry.npm.taobao.org/negotiator
npm http 200 https://registry.npm.taobao.org/keygrip
koa[@0](/user/0).5.2 node_modules/koa
├── koa-compose[@2](/user/2).2.0
├── statuses[@1](/user/1).0.2
├── finished[@1](/user/1).1.1
├── escape-html[@1](/user/1).0.1
├── only[@0](/user/0).0.2
├── debug[@0](/user/0).8.0
├── fresh[@0](/user/0).2.2
├── type-is[@1](/user/1).0.1
├── delegates[@0](/user/0).0.3
├── mime[@1](/user/1).2.11
├── co[@3](/user/3).0.5
├── accepts[@1](/user/1).0.1 (negotiator[@0](/user/0).4.2)
└── cookies[@0](/user/0).4.0 (keygrip[@1](/user/1).0.0)

可是畢竟鏡像跟官方的 npm 源仍是會有一個同步時間差別, 目前 cnpm 的默認同步時間間隔是 15 分鐘.
若是你是模塊發佈者, 或者你想立刻同步一個模塊, 那麼推薦你安裝 cnpm cli:

$ npm --registry=https://registry.npm.taobao.org install cnpm -g

經過 cnpm 命令行, 你能夠快速同步任意模塊:

$ cnpm sync koa connect mocha

呃, 我就是不想安裝 cnpm cli 怎麼辦? 哈哈, 早就想到你會這麼懶了, 因而咱們還有一個 web 頁面:

例如我想立刻同步 koa, 直接打開瀏覽器: https://npm.taobao.org/sync/koa

或者你是命令行控, 經過 open 命令打開:

$ open https://npm.taobao.org/sync/koa

若是你安裝的模塊依賴了 C++ 模塊, 須要編譯, 確定會經過 node-gyp 來編譯,
node-gyp 在第一次編譯的時候, 須要依賴 node 源代碼, 因而又會去 node dist 下載,
因而你們又會吐槽, 怎麼 npm 安裝這麼慢…

好吧, 因而又要提到 --disturl 參數, 經過七牛的鏡像來下載:

$ npm --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node install microtime

再次要提到 cnpm cli, 它已經默認將 --registry 和 --disturl 都配置好了, 誰用誰知道
.
寫到這裏, 就更快疑惑那些不想安裝 cnpm cli 又吐槽 npm 慢的同窗是基於什麼考慮不在本地安裝一個 cnpm 呢?

注意:
nvm切換nodejs的時候,要用自帶的cmd切換,不要用git-bash

nodejs安裝完命令沒法使用,這是由於全局目錄沒有在環境變量裏,加上就行了
Path += C:\Users\Administrator\AppData\Roaming\npm;

相關文章
相關標籤/搜索