NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,npm命令可以再cli中执行,方便进行包管理。使用NPM可以很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。
查看npm配置- 基本配置 npm config list //查看npm主要配置包含:npm仓库地址,cwd路径,根目录等配置信息
- 详细配置 npm config ls -l //查看全部npm默认配置
- 获取配置值 npm config get key //查看config中key对应的配置项
- 设置配置值 npm config set key=value //设置config中key对应的配置项值为value
- 编辑npm 配置文件 npm config edit
config这块用得最多应该是设置代理,解决npm安装一些模块失败的问题。例如在公司内网,可能因为公司的防火墙原因,无法完成任何模块的安装,这个时候设置代理可以解决 npm config set proxy=http://xxx.com:8080 又如国内的网络环境问题,某官方的IP可能被和谐了,幸好国内有好心人,搭建了镜像,此时我们简单设置镜像 npm config set registry=“http://r.cnpmjs.org” 也可以临时配置,如安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org
查看相关- 查看版本 npm –v
- 查看当前包的安装路径 npm root
- 查看全局的包的安装路径 npm root -g
- 打开本地的npm帮助文当,内容很详细 npm help npm
- 单独查看install命令的帮助文档,npm其他命令也可以用此方法看详细帮助 npm help install 系统在默认的浏览器或者默认的编辑器中打开本地nodejs安装包的文件/nodejs/node_modules/npm/html/doc/cli/npm-install.html
- 一次性: npm --registry https://registry.npm.taobao.org install express // 修改当前项目的仓库位置
- 永久性: npm config set registry https://registry.npm.taobao.org //修改全局配置到淘宝镜像
- 设置完成后可以通过以下命令查看是否配置成功 npm config get registry 或 npm info express
切换回npm官方 npm config set registry http://registry.npmjs.org //发布npm包时需要先切换回官方地址
安装淘宝npm镜像npm install -g cnpm --registry=https://registry.npm.taobao.org 设置完淘宝镜像之后可以通过命令cnpm执行淘宝仓库中的npm指令
安装成功之后,输入cnpm –v可以检查版本: cnpm -v
查看镜像 npm config get registry
恢复镜像: npm config delete registry 或 npm config edit(手动删除)
安装模块- npm install:根据package.json文件中的dependencies配置安装所有的依赖
- npm install :本地安装,会默认安装最新版本。示例: npm install express
- npm install :安装指定版本。示例: npm install express@3.0.6
- npm install -g 全局安装:将包安装到全局目录中(npm config get prefix所对应的目录),不修改package.json,执行npm install不会自动安装。示例: npm install -g @angular/core
- npm install --save 或 npm install -S 自动把模块和版本号添加dependencies部分(生产环境)。执行npm install 时会将包安装到node_modules中,运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中,这样代码提交到github时,就不用提交node_modules这个文件夹了。示例: npm install --save gulp 对应的package.json 文件的 dependencies 字段: “dependencies”: { “gulp”: “^3.9.1” }
- npm install --save-dev 或 npm install gulp -D 自动把模块和版本号添加devDependencies部分(生产环境)。执行npm install 会自动安装这个包到node_modules中,运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中,这样代码提交到github时,就不用提交node_modules这个文件夹了。示例: npm install --save-dev @angular/core 对应的package.json 文件的 devDependencies字段: “devDependencies”: { “gulp”: “^3.9.1” }
- npm install --save-optional 或 npm install –O 安装包信息将加入到optionalDependencies(可选阶段的依赖)。示例: npm install --save-optional gulp 对应的package.json 文件的optionalDependencies字段: “optionalDependencies”: { “gulp”: “^3.9.1” }
- npm install gulp --save-exact 或 npm install gulp -E 精确安装指定模块版本。示例: npm install --save-exact gulp 查看package.json 文件的 dependencies 字段,以看出版本号中的^消失了: “dependencies”: { “gulp”: “3.9.1” }
npm outdated 此命令会列出所有已经过时的包,可以及时进行包的更新
卸载模块npm uninstall element-ui
查看安装的模块及依赖- 列表方式查看安装的模块 npm ls
- 列表方式查看全局安装的模块及依赖 npm ls -g
npm cache clean
更新模块- npm -g update : 全局更新
- npm update : 本地更新 示例: npm update element-ui
npm version
查看模块的注册信息- 查看某个模块的所有版本 npm view versions
- 查看模块的依赖关系 npm view dependencies
- 查看模块的源文件地址 npm view repository.url
- 查看模块的贡献者,包含邮箱地址 npm view contributors
npm run serve 该命令运行package.json文件中scripts名称为start的命令,例如: { // … “scripts”: { “start”: “node build.js” } }
初始化package.json文件安装包的信息可保持到项目的package.json文件中,以便后续的其它的项目开发或者他人合作使用,也说package.json在项目中是必不可少的。 npm init: npm init –y:都用默认参数 在项目中引导创建一个package.json文件,包括名称、版本、作者这些信息等
添加用户npm adduser
发布包到官方仓库发布模板到npm社区前需要先登录,然后再进入发布的操作
- 先执行login命令登录到官方仓库中 npm login
- 切换到生成目录(默认=dist)目录下之后执行,将生成的包推送到官方仓库 npm publish --access=public //public表示发布的包的访问级别为public
- 撤销发布: npm -f unpublish dollarphpajax@*