关于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/node

npm was installed at

   /usr/local/bin/npm

Make 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的环境

备注:

  1. 在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:source ~/git/nvm/nvm.sh

  2. nvm 默认是从 http://nodejs.org/dist/ 下载的, 国外服务器, 必然很慢,我们可以更换国内的镜像:

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

VERSION_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)
  1. 写在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.0
         system
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

备注:

  1. 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 number
  nvm use 0.10                          Use the latest available 0.10.x release
  nvm run 0.10.32 app.js                Run app.js using node v0.10.32
  nvm exec 0.10.32 node app.js          Run `node app.js` with the PATH pointing to node v0.10.32
  nvm 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


线上猛如虎
2.2k 声望178 粉丝

你们都有梦想的,是吧.怀抱着梦想并且正朝着梦想努力的人,寻找着梦想的人,我想为这些人加油呐喊!