一、官网
npm的全称是(Node Package Manager),是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。
先说明下 下面会用到的几个变量:
| 模块名 版本号 版本范围 - <@scope> 作用域。所有 npm 软件包都有一个名称。某些软件包名称也有作用域。
二、基本命令
npm install install all the dependencies in your project
npm install
npm test run this project's tests
npm run
npm -h quick help on
npm -l display usage info for all commands
npm help
npm help npm more involved overview
All commands:
access, adduser, audit, bugs, cache, ci, completion,
config, dedupe, deprecate, diff, dist-tag, docs, doctor,
edit, exec, explain, explore, find-dupes, fund, get, help,
help-search, hook, init, install, install-ci-test,
install-test, link, ll, login, logout, ls, org, outdated,
owner, pack, ping, pkg, prefix, profile, prune, publish,
query, rebuild, repo, restart, root, run-script, search,
set, shrinkwrap, star, stars, start, stop, team, test,
token, uninstall, unpublish, unstar, update, version, view,
whoami
Specify configs in the ini-formatted file:
/Users/lion/.npmrc
or on the command line via: npm --key=value
三、用法示例
# 查看 npm 的版本
npm -v //6.4.0 << 安装成功会返回版本号
# 查看各个命令的简单用法
npm -l
# 查看 npm 命令列表
npm help
# 查看 npm 的配置
npm config list -l
#创建模块
npm init
npm init用来初始化生成一个新的package.json文件。它会向用户提问一系列问题,如果觉得不用修改默认配置,一路回车就可以了。
尾缀带-f(代表force)、-y(代表yes),则跳过提问阶段,直接生成一个新的package.json文件,不带尾缀的话,默认有提问阶段。
以上创建好之后就可以在Package.json直接看了 还可以在里面修改更新。
npm set 设置环境变量
$ npm set init-author-name 'my name jerry'
$ set init-author-email '12345@qq.com'
$ set init-author-url 'http://yourdomain.com'
$ npm set init-license 'MIT'
执行了以上的修改,此时 Package.json并没有发生变化
//设置后执行init才是真正修改成功
$ npm init
npm search 搜索模块
$ npm search <搜索词> [-g]
npm search命令用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。
npm list 查看模块
#当前项目安装的所有模块
$npm list
#列出全局安装的模块 带上[--depth 0] 不深入到包的支点 更简洁
$ npm list -g --depth 0
npm install 安装模块
# 读取package.json里面的配置单安装
$ npm install
//可简写成 npm i
# 默认安装指定模块的最新(@latest)版本
$ npm install [<@scope>/]
//eg:npm install gulp
# 安装指定模块的指定版本
$ npm install [<@scope>/]
//eg: npm install gulp@3.9.1
# 安装指定指定版本范围内的模块
$ npm install [<@scope>/]
//eg: npm install vue@">=1.0.28 < 2.0.0"
# 安装指定模块的指定标签 默认值为(@latest)
$ npm install [<@scope>/]
//eg:npm install sax@0.1.1
# 通过Github代码库地址安装
$ npm install
//eg:npm install git://github.com/package/path.git
npm uninstall 卸载模块
#卸载当前项目或全局模块
$ npm uninstall
eg: npm uninstall gulp --save-dev
npm i gulp -g
卸载后,你可以到 /node\_modules/ 目录下查看包是否还存在,或者使用以下命令查看:
npm ls 查看安装的模块
npm update 更新模块
#升级当前项目或全局的指定模块
$ npm update
//eg: npm update express
npm update express -g
npm link 引用模块
# 引用依赖 有些包是全局安装了,在项目里面只需要引用即可。
$ npm link [<@scope>/]
//eg: 引用 npm link gulp gulp-ssh gulp-ftp
//eg: 解除引用 npm unlink gulp
# 引用模块 本人用得少没深入说了 用得上时可去翻文档例子
$ npm link (in package dir)
npm run 执行脚本
package.json的scripts字段,可以用于指定脚本命令,供npm直接调用。npm run会创建一个Shell,执行指定的命令。
两个命令简写,start和test属于特殊命令,可以省略run,其余的都得带上run。
npm run的参数。
如果不加任何参数,直接运行,会列出package.json里面所有可以执行的脚本命令
npm publish 发布模块
# 未注册 申请注册一个用户 直接在https://www.npmjs.com/注册一样
$ npm adduser
//执行后 填写几个问题 Username、Password、Email
#已注册
$ npm login
#发布
$ npm publish
四、问题
npm安装时一直idealTree:npm: sill idealTree buildDeps解决方案
可能镜像源访问不了,修改镜像源:
npm config set registry https://registry.npmmirror.com
查看镜像源:npm config get registry