NPM是什么?

1、什么是NPM?

NPM(node package manager),通常称为node包管理器,主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。NPM是基于couchdb一个数据库,详细记录了每个包的信息(作者、版本、依赖、授权信息等)

NPM官方网站:NPM官方网站

NPM官方文档:NPM官方文档

我们需要了解什么?

1、NPM的安装、卸载、升级、配置

2、NPM的使用:packer的安装、卸载】升级、查看、搜索、发布

3、NPM包的安装:本地安装  、全局安装

4、package.json:包描述信息

5、package版本:版本说明

NPM安装

本地安装:package会被下载到当前所在目录,只能爱当前目录下使用

全局安装:package会被下载到待定的系统目录下,安装的package能在所有目录下使用

npm install pkg-本地安装

运行如下命令,就会在当前目录下安装 grunt-cli (grunt命令行工具)

npm install grunt-cli

安装结束后,当前目录下回多出一个 node_modules 目录,grunt-cli就安装在里面。同时注意控制台输出的信息:

[email protected]  /Users/user/Desktop/NPM

├─┬ [email protected]

├── [email protected]

├─┬ [email protected]

└── [email protected]

[email protected]:当前安装的package为grunt-cli,版本是1.2.0

/Users/user/Desktop/NPM:安装目录

nopt、resolve、findup-sync:依赖的包有nopt、resolve、findup-sync,它们各自的版本、依赖在后面的括号里列出来

npm install pkg-全局安装

上面已经安装了grunt-cli,然后你跑到其他目录下面运行如下命令

grunt

果断提示你grunt命令不存在,为什么呢?因为上面只是进行了 本地安装 ,grunt命令只能在对应安装目录下使用。

Fatal error: Unable to find local grunt.

如果为了使用grunt命令,每到一个目录下都得重新安装一次,因此,用全局安装,很简单,需要加上参数 -g 

npm install -g grunt-cli

此时控制台输入的信息有点不同。主要的区别在于安装目录,现在变成了 /usr/local/lib/node_modules/grunt-cli/bin/grunt,/usr/local/lib,这就是全局安装

├─┬ [email protected]

├── [email protected]

├─┬ [email protected]

└── [email protected]

npm包管理

nam的包管理命令使用频率比较高,安装、卸载、更新、查看、搜索、发布等等

安装最新版本的grunt-cli

npm install grunt-cli

安装0.1.9版本的grunt-cli

npm install grunt-cli@"0.1.9"

通过package.json进行安装,如果我们的项目依赖了很多package,一个一个地安装那将是个体力活。我们可以将项目依赖的包都在package.json这个文件里声明,然后一行命令搞定

npm install

卸载grunt-cli

npm uninstall grunt-cli

卸载0.1.9版本的grunt-cli

npm uninstall grunt-cli@"0.1.9"

npm ls:查看安装了哪些包,运行如下命令,就可以查看当前目录安装了哪些package

npm ls

/Users/user

├─┬ [email protected]

│ ├─┬ [email protected]

│ │ └─┬ [email protected]

│ │  ├─┬ [email protected]

│ │  │ └── [email protected]

│ │  ├── [email protected]

│ │  ├─┬ [email protected]

│ │  │ └─┬ [email protected]

│ │  │  ├── [email protected]

│ │  │  └── [email protected]

│ │  ├── [email protected]

│ │  └── [email protected]

│ ├── [email protected]

│ ├─┬ [email protected]

│ │ └── [email protected]

│ └── [email protected]

└─┬ [email protected]

├── [email protected]

├─┬ [email protected]

│ └─┬ [email protected]

│  └── [email protected]

├── [email protected]

├─┬ [email protected]

│ ├── [email protected]

│ └── [email protected]

├── [email protected]

├─┬ [email protected]

│ └── [email protected]

├── [email protected]

├─┬ [email protected]

│ └── [email protected]

├─┬ [email protected]

│ └── [email protected]

├── [email protected]

├── [email protected]

└── [email protected]

npm ls pkg:查看特定package的信息,运行如下命令,输出grunt-cli的信息

npm ls grunt-cli

如果要查看更详细信息,可以通过 npm info pkg ,输出的信息非常详尽,包括作者、版本、依赖等。

npm info grunt-cli

npm search pga:搜索

npm update grunt-cli

npm发布

这个命令我自己也还没实际用过,不误导大家,语法如下,也可参考官方对于package发布的说明:package发布

NPM配置

npm的配置工作主要是通过nam config 命令,包含了增、删、改、查几个步骤,以proxy为例

关于package.json

Package.json 属性说明

name - 包名。

version - 包的版本号。

description - 包的描述。

homepage - 包的官网 url 。

author - 包的作者姓名。

contributors - 包的其他贡献者姓名。

dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。

repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。

main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫 express,然后用户安装它,然后require("express")。

keywords - 关键字


最后,简单地把最常见的命令,以及一些需要了解的内容列了出来。如要进一步了解,可参考官网说明。此外, npm help 是我们最好的朋友,如果忘了有哪些命令,命令下有哪些参数,可通过help进行查看。

你可能感兴趣的:(NPM是什么?)