什么是npm?

npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。

为什么要使用npm?

npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种:

  • 允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
  • 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。

npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。

npm install

npm 不需要单独安装。在安装 Node.js 的时候,会连带一起安装 npm 。但是,Node.js 附带的 npm 可能不是最新版本,最后用这个的命令,更新到最新版本:npm install npm@latest -g

如果是 Window 系统使用以下命令即可:npm install npm -g

也可以指定安装npm版本:npm install npm@6.14.10  -g

安装指定的包,可用 npm install package_name

全局安装,可用 npm install -g package_name

写入package.json的dependencies中: npm install –S xxx

写入package.json的devDependencies中: npm install –D xxx
指定版本号:npm install vue@3.0.0

npm run

npm 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。

npm run 如果不加任何参数,直接运行,会列出 package.json 里面所有可以执行的脚本命令。

npm 内置了两个命令简写, npm test 等同于执行 npm run test,npm start 等同于执行 npm run start。

npm config set registry

npm config set registry https://registry.npmmirror.com设置npm镜像源。注意有些文档上写的http://npm.taobao.org 和 http://registry.npm.taobao.org 域名已经于 2022 年 05 月 31日零时起停止服务。可以用下面的指令恢复原镜像源:npm config set registry https://registry.npmjs.org

npm update

更新包:npm update package_name

或者在package.json所在的目录下执行 npm update 指令。

全局更新:npm update -g package_name

npm uninstall

卸载包:npm uninstall -g package_name
卸载指定包:npm uninstall –save-dev package_name
uninstall时,使用-S或-D参数,会删除在相关dependencies中的引用
remove, rm, r, un, unlink这些都是npm uninstall的别名

npm ls

列出包。

npm fund

npm fund,为指定的包的作者进行捐赠,该命令在用户的默认浏览器中打开指定的捐赠服务链接,以操作信用卡进行捐赠等