NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
主要功能如下:
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入npm -v
来测试是否成功安装。命令如下,出现版本提示表示安装成功。
如果安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下
npm install npm -g
语法:npm install <Module Name>
例如,在某个工程下面执行命令,安装express模块
npm install express
在js代码中,只需要通过 require()
进行引入,就可以了
var express = require('express');
如果在安装过程中提示npm resource busy or locked.....,那么就执行命令npm cache clean
清除缓存后再重新安装即可。
语法:npm install <Module Name> -g
/usr/local
下或者你 node 的安装目录(.npmrc
文件指定的目录)。通过命令npm root -g
查看全局包安装路径。
修改全局安装目录,修改C:\\Users\%username%\.npmrc
(Windows),~/.npmrc
(Linux/Mac)文件,prefix为全局模块安装路径,cache为缓存路径
prefix=E:\npm\node_global
cache=E:\npm\node_cache
也可以通过命令,修改两个路径
npm config set prefix "E:\npm\node_global"
npm config set cache "E:\npm\node_cache"
注意:修改完后,需要把新的全局模块安装路径E:\npm\node_global
配置到系统环境变量中。
语法:npm install <Module Name>
由于国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像
npm install -g cnpm --registry=https://registry.npmmirror.com
这样就可以使用 cnpm 命令来安装模块了:
cnpm install [module_name]
npm install #安装模块,简写:npm i,-g为全局
npm uninstall #卸载模块,-g为全局
npm list #查看安装的所有模块,简写:npm ls,-g为全局
npm list <Module Name> #查看指定模块的版本
npm update <Module Name> #更新指定模块
npm search <Module Name> #搜索指定模块
npm help #查看帮助文档
npm help <command> #查看指定命令的帮助文档
npm cache clear #清空本地缓存,用来解决相同版本号代码不同无法更新的问题
创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果
语法:npm init
#在npm资源库注册一个账号
npm adduser
#查看当前用户
npm who an i
#发布npm包,每次发布,版本号必须进行修改
npm publish
package.json 位于项目/模块的目录下,用于定义包的属性
{
"name": "express",
"description": "Fast, unopinionated, minimalist web framework",
"version": "4.13.3",
"author": {
"name": "TJ Holowaychuk",
"email": "tj@vision-media.ca"
},
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/strongloop/express.git"
},
"homepage": "http://expressjs.com/",
"keywords": [
],
"dependencies": {
},
"devDependencies": {
},
"scripts": {
}
}