npm详细介绍以及常用命令
2022-08-19 本文已影响0人
扶得一人醉如苏沐晨
npm 全面介绍
什么是 NPM
npm 之于 Node.js ,就像 pip 之于 Python, gem 之于 Ruby, pear 之于 PHP 。
npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。
为什么要使用 NPM
npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的场景有以下几种:
允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。
npm 的背后,是基于 couchdb 的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。
如何使用 NPM
安装
npm 不需要单独安装。在安装 Node 的时候,会连带一起安装 npm 。但是,Node 附带的 npm 可能不是最新版本,最后用下面的命令,更新到最新版本。
npm install npm@latest -g
如果是 Window 系统使用以下命令即可:
npm install npm -g
就是使用 npm 安装自己。之所以可以这样,是因为 npm 本身与 Node 的其他模块没有区别。
然后,运行下面的命令,查看各种信息。
也可以指定安装npm版本
npm install npm@6.14.10 -g
常用指令
npm run
npm 不仅可以用于模块管理,还可以用于执行脚本。package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。
npm run 如果不加任何参数,直接运行,会列出 package.json 里面所有可以执行的脚本命令。
npm 内置了两个命令简写, npm test 等同于执行 npm run test,npm start 等同于执行 npm run start。
package.json

设置淘宝镜像源(淘宝镜像新域名)
npm config set registry https://registry.npmmirror.com
老http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31日零时起停止服务。所以老命令也不要使用了:npm config set registry http://registry.npm.taobao.org
还原默认源
npm config set registry https://registry.npmjs.org

安装依赖
全局安装
# 安装最新版本
npm install -g xxx
# 安装指定版本
npm install -g xxx@1.0.0
本地安装(当前文件夹)
npm install xxx
项目依赖安装, 并写入package.json的dependencies中:
npm install –S xxx
# 和上面效果一样,默认:
npm install xxx
项目依赖安装,并写入package.json的devDependencies中:
npm install –D xxx
指定版本号
npm install vue@3.0.0
项目本次安装依赖,临时使用淘宝镜像
npm install --registry=https://registry.npmmirror.com
安装某个依赖包(下面命令指定了版本@1.0.0),临时使用淘宝镜像:
npm install XXX@1.0.0 --registry=https://registry.npmmirror.com
卸载依赖
卸载
npm uninstall <package-name>
卸载,并在package.json中移除:
使用 -S 或 --save 标志,则此操作还会移除 package.json 文件中的引用;
如果程序包是开发依赖项(列出在 package.json 文件的 devDependencies 中),则必须使用 -D 或 --save-dev 标志从文件中移除。
npm uninstall -S <package-name>
npm uninstall -D <package-name>
卸载全局依赖
npm uninstall -g <package-name>
提示
uninstall的别名:remove, rm, r, un, unlink这些都是npm uninstall的别名。
npm uninstall -S <package-name>
# 等价
npm remove -S <package-name>
# 等价
npm rm -S <package-name>
更新
