Node.js开发Web后台服务(三)之node包管理器
文章栏目166916690
发布时间:2019-02-19 15:03:13

四、NPM(Node.js包管理器)

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
a)、允许用户从NPM服务器下载别人编写的第三方包到本地使用。
b)、允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
c)、允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

官网:https://www.npmjs.com/

4.1、查看npm版本

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

Node.js开发Web后台服务(三)之node包管理器

4.2、升级npm

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

npm install npm -g

Node.js开发Web后台服务(三)之node包管理器

4.3、安装模块

npm install <Module Name> -参数

如果带参数-g表示全局安装,否则只是安装到某个目录下。

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

4.4、卸载模块

我们可以使用以下命令来卸载 Node.js 模块。

npm uninstall <Module Name>

如先使用安装指令安装bootstrap:

npm install bootstrap

再使用卸载指令删除模块:

npm uninstall bootstrap

可以到 /node_modules/ 目录下查看包是否还存在

4.5、模块列表

使用模块列表命令可以方便的看到当前项目中依赖的包:

npm ls

Node.js开发Web后台服务(三)之node包管理器

4.6、更新模块

我们可以使用以下命令更新模块:

npm update 模块名称
npm up -g 模块名称

4.7、搜索模块

npm search 模块名称

Node.js开发Web后台服务(三)之node包管理器

4.8、NPM 常用命令

除了本章介绍的部分外,NPM还提供了很多功能,package.json里也有很多其它有用的字段。
除了可以在npmjs.org/doc/ 查看官方文档外,这里再介绍一些NPM常用命令。
NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。
NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。
使用npm help <command>可查看某条命令的详细帮助,例如npm help install
在package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。
使用npm update <package>可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。
使用npm update <package> -g可以把全局安装的对应命令行程序更新至最新版。
使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。
使用npm unpublish @可以撤销发布自己发布过的某个版本代码。

4.9、更换NPM 镜像

因为npm的服务器在国外,在网络状态不好的情况下引入一个模块会因为网络延迟而失败,可以更换成国内速度更快的镜像服务器,这里以使用淘宝 NPM 镜像(http://npm.taobao.org/) 为例:

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

Node.js开发Web后台服务(三)之node包管理器

这样就可以使用 cnpm 命令来安装模块了:

$ cnpm install [name]

这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

如是安装失败,可以试试:

alias cnpm="npm —registry=https://registry.npm.taobao.org \
—cache=$HOME/.npm/.cache/cnpm \
—disturl=https://npm.taobao.org/dist \
—userconfig=$HOME/.cnpmrc"
 Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm —registry=https://registry.npm.taobao.org \
—cache=$HOME/.npm/.cache/cnpm \  
—disturl=https://npm.taobao.org/dist \
—userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc