關于node.js和npm 和nvm
Node 是一個服務器端 JavaScript 解釋器,Node 本身運行 V8 JavaScript。V8 JavaScript 引擎是 Google 用于其 Chrome 瀏覽器的底層 JavaScript 引擎。
-
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
允許用戶從NPM服務器下載并安裝別人編寫的命令行程序到本地使用。
允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
由于新版的nodejs已經集成了npm,所以之前npm也一并安裝好了。
nvm有點類似于 Python 的 virtualenv 或者 Ruby 的 rvm,php的composer,每個node版本的模塊都會被安裝在各自版本的沙箱里面(因此切換版本后模塊需重新安裝),因此考慮到需要時常對node版本進行切換測試兼容性和一些模塊對node版本的限制,對于node版本管理很方便
安裝node.js和npm
第一種:直接安裝方式
https://nodejs.org/
下載安裝包,osx下是一個pkg文件。
安裝成功提示:
Node.js was installed at/usr/local/bin/nodenpm was installed at/usr/local/bin/npmMake sure that /usr/local/bin is in your $PATH.
這樣的話就不需要去刻意寫PATH,默認
/usr/local/bin/
,在osx的PATH中,如果沒有的話,那么需要手動添加一個export PATH=/usr/local/bin:$PATH
到~/.bash_profile
里面
安裝成功后,打開終端
? git node -v
v4.6.0
? git npm -v
2.15.9
至此安裝完成
第二種:使用nvm安裝
將nvm的git 庫clone到本地
$ cd ~/git
$ git clone https://github.com/creationix/nvm.git
//在本地創建一個存放git的目錄,然后git clone下到本地
source ~/git/nvm/nvm.sh
//source這個腳本來初始化nvm的環境
備注:
在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:
source ~/git/nvm/nvm.sh
nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,我們可以更換國內的鏡像:
? git NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4VERSION_PATH=''
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v4.6.0 (npm v2.15.9)
Creating default alias: default -> 4 (-> v4.6.0)
寫在profile文件,自動加載,不用每次手動操作
cat ~/.bash_profile
source ~/git/nvm/nvm.sh
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
(這個也是需要將其寫進去profile文件的(~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc ,其中一個即可
))
安裝完成后檢查,第一次安裝nvm完成的時候會自動安裝一個最新版的node.js
? git nvm ls
-> v4.6.0system
default -> 4 (-> v4.6.0)
node -> stable (-> v4.6.0) (default)
stable -> 4.6 (-> v4.6.0) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> v4.6.0)
lts/argon -> v4.6.0
使用npm和nvm
npm使用
同理 nvm , npm 默認是從國外的源獲取和下載包信息,所以很慢,可以通過簡單的 ---registry 參數, 使用國內的鏡像https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org/
npm install -g hexo //例如我這里安裝一個hexo模塊也可以
npm --registry=https://registry.npm.taobao.org install -g hexo
備注:
npm的-g參數是安裝全局模塊
由于淘寶已經停止了http的鏡像服務,安裝的時候,需要把
npm config set registry https://registry.npm.taobao.org
設置成https。
通過 nvm 安裝任意版本的 node
如例子所示,nvm use可以切換node版本:
Example:nvm install v0.10.32 Install a specific version numbernvm use 0.10 Use the latest available 0.10.x releasenvm run 0.10.32 app.js Run app.js using node v0.10.32nvm exec 0.10.32 node app.js Run `node app.js` with the PATH pointing to node v0.10.32nvm alias default 0.10.32 Set default node version on a shell
參考:
https://cnodejs.org/topic/5338c5db7cbade005b023c98
http://www.eyrefree.org/2016/03/23/2016-03-23-Hexo-Coding-Pages/
http://www.jianshu.com/p/3baed1d862ce