npm(node package manager)
nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖),npm是随同nodejs一起安装的包管理工具,能解决nodejs代码部署上的很多问题,它是node获得成功的重要原因之一。常见的使用场景有以下几种:
- 允许用户从npm服务器下载别人编写的第三方包到本地使用。
- 允许用户从npm服务器下载并安装别人编写的命令程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。
为什么需要包管理工具?
- 我们在node.js上开发时,会用到很多别人写的javascript代码。如果我们要使用别人写的某个包,每次都根据名称搜索官方网站,下载代码,解压,在使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,使用的时候直接通过npm安装就可以直接使用。
- 更重的是,如果我们要使用模块A,而模块A又依赖模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,我们自己动手管理,非常麻烦。
cnpm
因为npm安装插件是从外国服务器下载,受网速影响大,可能出现异常。淘宝团队做了一个完整npmjs.org镜像,你可以用此代替官方版本,同步频率目前为10分钟一次,以保证尽量与官方服务同步。
npm install modeleNames:安装node模块
安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。
node的安装分为全局模式和本地模式
一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。
在全局模式下,node包会被安装到node的安装目录下的node_modules下
为什么要保存至package.json?
因为node插件包非常大,版本庞杂,所以不加入package信息,模块间的依赖变得非常困难,将配置信息写入package.json并将其加入版本管理,其他开发者对应下载即可(命令提示符执行npm install,则会根据package.json下载所有需要的包)。每个项目目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称,版本,许可证等元数据)。npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
package.json属性说明:
name - 包名。(不要把node或者js放在名字中)
version - 包的版本号。
dependencies - 项目运行所依赖的模块。
devDependencies - 项目开发所需要的模块
bin - 这需要在你的package.json中提供一个bin字段,它是一个命令名和本地文件名的映射。在安装时,如果是全局安装,npm将会使用符号链接把这些文件链接到prefix/bin,如果是本地安装,会链接到 ./node_modules/.bin/
npm 常用命名
- 使用npm卸载插件:npm uninstall <name > [-g] [--save-dev] PS:不要直接删除本地插件包
- 使用npm更新插件:npm update <name> [-g] [--save-dev]
- 更新全部插件:npm update [--save-dev]
- 查看npm帮助:npm help
https://www.jianshu.com/p/f581cf9360a2









网友评论