2016年9月14日星期三

Node.js npm 详解(1)

一、npm简介

安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍。

npm的全称:Node Package Manager.

(1)通俗的理解

其实从字面意思就可以理解这个产品有什么作用翻译为“Node包管理器”。对,就是Node的包的一个管理工具,目前我尝试的有

  1. 下载并安装包(npm install [pkg])
  2. 升级安装包(npm update [pkg])
  3. 卸载安装包(npm uninstall/rm [pkg]),可以指定卸载包的版本号 ...

其实这些命令很简单,常用的必须记住,不常用的查询即可,这才是比较好的学习知识方式。

在终端输入:

//查看npm拥有的全部命令
$ npm --help
$ npm help
//查看某一个npm命令的详细用法
$ npm <command> --help
$ npm help <command>

(2)专业的解释

npm(Node Package Manager)是Node.js下的主流套件管理程式。它在Node.js v0.6.x版本之后,内建于Node系统。通过npm可以协助开发者安装、卸载、删除、更新Node.js套件,并且可以通过npm发布自己的插件。

二、类似的产品

其实学习一个产品,可以联系其它产品,能够更好的理解现在手头的产品。第一次学习npm我的第一反应就是,很像linux/mac平台的很多软件,依赖管理的方式可以参考maven...当然相似性可以随便联想。

接下来,举几个例子吧,当然详细了解可以查baidu && google。

  1. gem
  2. PyPL
  3. pear
  4. macPort
  5. Homebrew
  6. rem
  7. apt-get
  8. yum ...

是不是很多都很熟悉?这样对于npm的认识就不用局限于概念啦。

三、npm基础功能

(1)npmrc文件介绍

首先介绍一下npmrc文件,这个文件是npm包管理器的配置文件。

与npmrc相关的三个文件:

  1. 用户配置文件:~/.npmrc
  2. 全局配置文件:$PREFIX/npmrc
  3. npm内部配置文件:安装npm的目录下

下面仔细看一下npm config的配置。

(2)npm获取配置的6种方式(优先级从高到低):

1.命令行参数

$ --proxy http://<server>:<port>

2.环境变量

以"npm_config_"为前缀的环境变量将会被认为是npm的配置属性。
像Maven镜像的概念,方便通信吧。

$ npm_config_proxy=http://<server>:<port>

3.用户配置文件

//查看文件路径
$ npm config get userconfig

//mac系统默认路径
$HOME/.npmrc

4.全局配置文件

//查看文件路径
$ npm config get globalconfig

//mac系统默认路径
/usr/local/etc/npmrc

3,4中输入终端的效果如图:

3,4在终端的结果

5.内置配置文件

安装npm的目录下的npmrc文件。

6.默认配置

如果前5条均未设置,npm会使用默认配置参数。

(4)npm install

“安装指定包”:这个命令不难,但是也有需要注意的地方,就是安装的模式有两种,在后面会单独讲解。

如果不知道包的具体名称,可以在http://search.npmjs.org上进行搜索。

(5)npm uninstall

“卸载指定包”:在help的时候,会给你推荐npm rm 这个命令,uninstall会卸载掉包的依赖,rm。

(6)npm ls

查看安装的包清单,其实和linux的ls命令很像,可以跟很多参数,详情可以使用

$ npm help ls

(7)npm search

搜索包的详细信息,比如我们搜索express试试。第一次搜索,会提示建立索引,需要耐心等待片刻,大家测试的时候不要就关掉啦终端。

npm WARN Building the local index for the first time, please be patient

express包的搜索结果

其实看上去复杂,只是东西有点大,不过主要包含以下6个部分:

  1. 名称
  2. 描述
  3. 作者
  4. 发布时间
  5. 发布版本号
  6. 关键字

(8)npm update

更新安装的包

更多API可以查看官网:https://npmjs.org/doc/

四、版本号的知识。

在node.js中的package.json配置文件中,我们需要配置版本号,比如0.1.2

第一位数字:主版本号

第二位数字:子版本号

第三位数字:补丁版本号

找到一个不错的介绍软件项目版本号的文章

软件项目版本号的命名规则及格式

为什么要解释这个呢?肯定是有用,因为npm安装的时候是可以选择版本号的,有点理解会比较好吧,至少我是这么认为的。

没有评论:

发表评论