npm常用命令及镜像设置
- 概述
- 常用命令
- 对比
- 本地安装
- 全局安装
- `--save` (或 `-S`)
- `--save-dev` (或 `-D`)
- 镜像设置
-

主页传送门:📀 传送
概述

npm致力于让 JavaScript 开发变得优雅、高效和安全。免费的 npm Registry 已成为 JavaScript 代码共享的中心,拥有超过一百万个软件包,是世界上最大的软件注册表。它是Node.js的标准包管理器,用于安装、共享和管理应用程序依赖关系
,能解决NodeJS代码部署上的很多问题。也就是说,如果你想要在你的项目中引入一些库或工具,可以使用npm来快速安装。
常见使用场景:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器 下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
常用命令
一些npm常用命令
- npm版本号
| # 检测npm是否安装,以及查看npm安装的版本号 |
| npm -v |
复制
- npm升级
| # 如果安装的是旧版本的npm,可以通过npm命令来升级 |
| npm install npm -g |
复制
- 临时使用镜像源
| # 设置本次从淘宝镜像上安装需要的包,不改变npm原有的仓库镜像源 |
| npm install -g <安装包名> --registry=https: |
| # 安装package.json中所有的包,本次安装从设置的镜像中下载,不改变npm原有配置的仓库镜像 |
| npm install --registry=https: |
复制
- 查看镜像源
| # 查看当前本地npm配置的仓库镜像 |
| npm config get registry |
复制
- 配置镜像源
| # 配置本地npm的仓库镜像源地址,以后下载包,在下载命令中不配置镜像源时,就从上述配置的镜像源中下载指定的安装包 |
| npm config set registry <https: |
| |
| # 也可以修改 ~/.npmrc 文件,加入下面内容 |
| registry = https: |
| |
复制
- 使用cpnm
| # 使用cnpm命令替换npm命令,$ cmpm install <包名> |
| npm install -g cnpm --registry=https: |
复制
- 安装指定包
| # 加-g是全局安装指定的包,不加-g是本地本项目安装指定的包名 |
| npm install <包名> <-g> |
复制
- 报错解决
| # 类似 " npm err ! Error: connect ECONNREFUSED 127.0.0.1:8087 " 的错误解决 (设置null 再重新设置镜像) |
| npm config set proxy null |
| npm config set https-proxy null |
| npm config set registry <https: |
复制
- 查看包
复制
- 卸载包
| # 卸载某个包 |
| npm uninstall <包名> ; |
| # 卸载所有的包 |
| npm uninstall * |
复制
- 查看依赖包是否存在
| # 查看依赖包是否存在(用10的命令卸载某个包后,如果是卸载的/node_modules/目录下的包,可以通过此命令查看卸载的包是否还存在) |
| npm ls |
复制
- 更新某个包到最新版本
复制
- 升级指定包到指定版本
| # 例如:npm install -g npm@18.15.0 ,升级npm 到18.15.0版本 |
| npm install <-g> <包名>@<版本号> |
复制
- 操作
| # 在npm资源库中注册用户 |
| npm adduser |
| # 登录用户 |
| npm login |
| # 发布项目 |
| npm publish |
| # 清除缓存 |
| npm cache verify |
| npm cache clean --force |
| 俩个命令都可 |
复制
对比
(本地安装与全局安装 )、(--save
和--save-dev
)选项的区别 、对比及命令。
本地安装
- 安装位置: 包会被安装在当前项目的
node_modules
目录下。 - 作用: 本地安装的包通常是项目的依赖,只在该项目中可用。
- 命令:
npm install <package_name>
全局安装
- 安装位置: 包会被安装在全局的
node_modules
目录下,通常在系统的全局路径中。 - 作用: 全局安装的包可以在任何项目中使用,一般用于安装一些命令行工具或全局可用的模块。
- 命令:
npm install -g <package_name>
说明 | 本地安装 | 全局安装 |
---|
安装位置 | 当前项目的 node_modules 目录下 | 全局的 node_modules 目录下(一般在系统全局路径) |
作用 | 项目的依赖(仅作用于当前项目) | 全局可用(一般用于安装一些命令行工具或全局可用的模块) |
命令 | npm install <package_name> | npm install -g <package_name> |
--save
(或 -S
)
- 作用: 将包添加到
dependencies
中,标识该包为项目运行时的依赖。 - 命令:
npm install <package_name> --save
--save-dev
(或 -D
)
- 作用: 将包添加到
devDependencies
中,标识该包为开发时的依赖,仅在开发和测试阶段使用。 - 命令:
npm install <package_name> --save-dev
说明 | –save | –save-dev |
---|
作用 | 项目运行时依赖 | 开发时的依赖(仅开发与测试阶段使用) |
命令 | npm install <package_name> --save | npm install <package_name> --save-dev |
示例:
假设要安装一个名为 lodash
的包:
| |
| npm install lodash --save |
| |
| npm install lodash -S |
复制
这会把 lodash
安装到项目的 node_modules
目录,并添加到 dependencies
中。
复制
这会把 lodash
安装到全局 node_modules
目录中,可以在整个系统中使用。
| |
| npm install lodash --save-dev |
| |
| |
| npm install lodash -D |
复制
这会把 lodash
安装到项目的 node_modules
目录,并将其添加到 devDependencies
中,表示它是在开发阶段使用的依赖。
通过使用 --save
和 --save-dev
,你可以清晰地区分项目运行时的依赖和开发时的依赖,而本地安装和全局安装则控制了包的作用范围。
镜像设置
npm的官方镜像位于国外,有时候我们会在安装依赖的时候出现下载缓慢的情况,甚至有时候会出现安装失败的情况。为了解决这个问题,可以选择使用国内的npm镜像,以此来加快下载速度,保证依赖安装的成功率。也就是说NPM镜像是NPM的一个加速服务,用于提高NPM包的下载速度。
设置镜像方法
使用命令行或者配置文件两种方法可以设置npm镜像。
- 使用命令行设置npm镜像
| npm config set registry https: |
复制
将npm的镜像地址设置为淘宝的镜像,速度会比较快。
- 使用配置文件设置npm镜像
复制
用命令打开npm的配置文件,然后在里面设置npm的镜像。
复制
将registry设置为上面的镜像地址,保存后关闭即可。
示例:
| 以淘宝镜像举例: |
| |
| 1.临时使用 |
| npm --registry https: |
| |
| 2.一直使用 |
| npm config set registry https: |
| 验证是否成功: |
| npm config get registry |
| 或 |
| npm info express |
| |
| 3.使用cnpm |
| npm install -g cnpm --registry=https: |
| 或 |
| cnpm install express |
复制
切换回npm官方镜像
在某些情况下,我们需要切换回npm的官方镜像。那么该如何做呢?也很简单,只需将registry这个参数设置为npm官方镜像即可。
| npm config set registry https: |
复制
选择镜像源
虽然淘宝的npm镜像明显比npm官方镜像快很多,但是在某些情况下,我们还是需要选择其他的镜像源。
常见镜像源:
| 1、淘宝镜像: https: |
| 2、cnpmjs镜像: https: |
| 3、npm官方镜像: https: |
复制
其他镜像源:
一些可能会用到的镜像:
| cnpm --- http: |
| eu ----- http: |
| au ----- http: |
| sl ----- http: |
| nj ----- https: |
复制
选择适合自己的源可以大大提高安装依赖的速度和成功率,推荐使用淘宝的npm镜像
。

| 如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏 🙌一起讨论 |
| 你的支持就是我✍️创作的动力! 💞💞💞 |
复制