您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

NPM 安装

如何使用 NPM?首先要先从NPM安装开始学习起。接下来就开始讲解关于NPM的安装教程。

请跟着前端之家 F2er.com NPM教程的步骤往下学习NPM。

npm 不需要单独安装。在安装 Node 的时候,会连带一起安装 npm 。但是,Node 附带的 npm 可能不是最新版本,最后用下面的命令,更新到最新版本。

$ sudo npm install npm@latest -g

如果是 Window 系统使用以下命令即可:

npm install npm -g

也就是使用 npm 安装自己。之所以可以这样,是因为 npm 本身与 Node 的其他模块没有区别。 然后,运行下面的命令,查看各种信息。

# 查看 npm 命令列表
$ npm help

# 查看各个命令的简单
$ npm -l

# 查看 npm 的版本
$ npm -v

# 查看 npm 的配置
$ npm con list -l

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本表示安装成功:

$ npm -v2.3.0

如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来,命令如下:

$ sudo npm install npm -g
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.14.2 /usr/local/lib/node_modules/npm

如果是 Window 系统使用以下命令即可:

npm install npm -g

使用淘宝镜像的命令:

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

安装不同版本

install 命令总是安装模块的最新版本,如果要安装模块的特定版本,可以在模块名后面 @ 和版本号

$ npm install sax@latest
$ npm install sax@0.1.1
$ npm install sax@">=0.1.0 <0.2.0"

install 命令可以使用不同参数,指定所安装的模块属于哪一种性质的依赖关系,即出现在 packages.json 的哪一项中。

–save:模块名将被到 dependencies,可以简化为参数 - S。

–save-dev:模块名将被到 devDependencies,可以简化为参数 - D。

$ npm install sax --save
$ npm install node-tap --save-dev
# 或者
$ npm install sax -S
$ npm install node-tap -D

使用 NPM 命令安装模块

npm 安装 Node.js 模块语法格式如下:

$ npm install <Module Name>

以下实例,我们使用 npm 命令安装常用的 Node.js web框架模块 express:

$ npm install express

安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

var express = require('express');

NPM 全局安装与本地安装

npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如

npm install express
# 本地安装

npm install express -g 
# 全局安装

如果出现以下:

npm err! Error: connect ECONNREFUSED 127.0.0.1:8087

办法为:

$ npm con set proxy null

1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下 node_modules 目录。

2. 可以通过 require() 来引入本地安装的包。

1. 将安装包放在 /usr/local 下或者你 node 的安装目录。

2. 可以直接在命令行里使用。

如果你希望具备两者,则需要在两个地方安装它或使用 npm link。

接下来我们使用全局方式安装 express

$ npm install express -g

安装过程如下,第一行了模块的版本号及安装位置。

express@4.13.3 node_modules/express
├── escape-html@1.0.2
├── range-parser@1.0.2
├── merge-descriptors@1.0.0
├── array-flatten@1.1.1
├── cookie@0.1.3
├── utils-merge@1.0.0
├── parseurl@1.3.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── fresh@0.3.0
├── vary@1.0.1
├── path-to-regexp@0.1.7
├── content-type@1.0.1
├── etag@1.7.0
├── serve-static@1.10.0
├── content-disposition@0.5.0
├── depd@1.0.1
├── qs@4.0.0
├── finalhandler@0.4.0 (unpipe@1.0.0)
├── on-finished@2.3.0 (ee-first@1.1.1)
├── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
├── debug@2.2.0 (ms@0.7.1)
├── type-is@1.6.8 (media-typer@0.3.0, mime-types@2.1.6)
├── accepts@1.2.12 (negotiator@0.5.3, mime-types@2.1.6)
└── send@0.13.0 (destroy@1.0.3, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)

你可以使用以下命令来查看所有全局安装的模块:

$ npm list -g

├─┬ cnpm@4.3.2
│ ├── auto-correct@1.0.0
│ ├── bagpipe@0.3.5
│ ├── colors@1.1.2
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ cross-spawn@0.2.9
│ │ └── lru-cache@2.7.3
……

如果要查看某个模块的版本号,可以使用命令如下:

$ npm list grunt

projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1

使用 nvm 安装 npm

下面图文教你如何通过安装 NVM Windows版本的安装过程,教会你使用NVM当中的NPM。

(第一次安装认到底,减少后面环境出错的几率,等玩熟了在位置)

第一步:

第二步:

安装完成后这两个路径要记下来(后面介绍具体用途)

nvm认为: C://Users/Administrator/AppData/Roming/nvm

nvm安装的node路径认为: C://ProgramFile/nodejs (其实是个快捷方式)

安装 node 就等于安装了 npm。

$ npm -v // 查看对应 npm 版本

每个 node 版本对应 npm 版本,切换 node 版本也就意味着切换 npm 版本。

$ nvm version // 查看nvm版本
$ nvm install 4.6.2 // 安装node4.6.2版本(附带安装npm)
$ nvm uninstall 4.6.2 // 卸载node4.6.2版本
$ nvm list // 查看node版本
$ nvm use 4.6.2 // 将node版本切换到4.6.2版本
$ nvm root     // 查看nvm
$ nvm install latest //下载最新的node版本和与之对应的npm版本

nvm 仅仅用来安装 node 和切换 node 版本,使用频率不高,记住这几个指令就够用了。

在安装 nvm 时候让记下两个:(下面称 nvm 路径和 node 路径) nvm认为: C://Users/Administrator/AppData/Roming/nvm nvm安装的node路径认为: C://ProgramFile/nodejs (其实是个快捷方式)

在计算机切换到 nvm 路径: 

这是 dk 计算机上的 nvm 目录,当前安装了两个版本的 node,想使用哪个版本的 node,本质上是创建要使用那个 node 版本的快捷方式,替换 node 路径 。

在计算机切换到 node 路径: 

可以看到,这个目录有个 node_modules 夹和许多 cmd 命令,未来安装的全局包都放。


联系我
置顶