认识前端包常用包管理工具(npm、cnpm、pnpm、nvm、yarn)

本文详细介绍了前端常用的包管理工具,包括npm、cnpm、yarn、pnpm以及nvm的安装、使用方法和优缺点。同时,提到了nrm和yrm用于管理镜像源,以提高包的下载速度。文章强调了正确选择和使用这些工具对于前端工程化和项目维护的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随着前端的快速发展,前端的框架越来越趋向于工程化,所以对于包的使用也越来越多,为了优化性能和后期的维护更新,对于前端包的管理也尤为重要,本文主要阐述对node中包管理工具的理解和简单的使用方法。也欢迎各位大佬和同行们多多指教。😁😁😁

在这里插入图片描述

👉1. npm

安装npm

  • 通过 node.js 网站安装node获取对应版本的npm

  • 使用版本管理器nvm安装 node.js 和 npm
    * 由于npm 和 node.js产品由不同的实体管理,更新和维护可能变得复杂,而且,nodejs安装过程将npm安装在一个只有本地权限的目录中,当试图全局运行包时,可能会导致权限错误
    * 使用节点版本管理器(nvm)来安装npm。版本管理器将避免权限错误,轻松地切换npm和节点版本,并将解决更新Node.js和npm的复杂性

  • npm -v 查询当前本地安装的npm版本

  • npm install npm@6.14.14 -g 更新到指定版本

  • npm 安装版本过高无法支持当前低版本的node,会报错,但是可以正常打包。
    npm WARN cli npm v9.8.1 does not support Node.js v14.15.4. This version of npm supports the following node versions: ^14.17.0 || ^16. 13.0 || >=18.0.0. You can find the latest version at https://nodejs.org/.

  • vue项目的package.json一般会注册npm的版本号,过低会导致无法打包(npm run build)vue项目

    "dependencies": {
         "npm": "^9.8.1",
    }
    
     "engines": {
        "node": ">= 10.13.0",
        "npm": ">= 5.0.0"
      },
    
  • npm和node版本对照官网:https://nodejs.org/zh-cn/download/releases/
    在这里插入图片描述

缺点

  • npm install拉node_modules比较慢,安装的时候包会在同一时间下载和安装,中途某个时候,一个包抛出了一个错误,但是npm会继续下载和安装包,因为npm会把所有的日志输出到终端,有关错误包的信息就会在一大堆npm打印的警告中丢失掉,并且可能永远不会注意到实际发生的错误。
  • 同一个项目,安装的时候无法保持一致性,导致相同项目,有的人是ok的,有的人由于安装的版本不一致出现bug
  • package.json文件中版本号代表不同的含义
    • 4.0.3 安装指定的版本
    • ~4.0.3 安装4.0.x中的最新版本
    • ^4.0.3 表示安装4.X.X中最新的版本

👉2. cnpm(国内镜像文件 快)

  • npm install -g cnpm --registry=https://registry.npm.taobao.org (cnpm安装)
  • npm安装模块时,是通过npm官网进行的,但是由于其服务器在国外,所以下载速度比较缓慢,容易请求超时,容易下载错误。
  • 示例:
    下载失败再次下载完成,但是不能够正常使用,这个这个问题是由于缓存引起的,可以清理上一次的下载缓存后再重新下载,因为你自己查看日志错误发生点不太现实,由此推出了cnpm
  • cnpm是npm其中的一个插件,由阿里巴巴的淘宝团队推出的国内镜像源。

👉3. yarn(并行下载 快)

  • 安装 Yarn,提升依赖的安装速度
  • npm install --global yarn
  • yarn install yarn 安装

同样作为包管理工具,与npm显著不同的是,yarn是并行安装,二次安装下载的模块时,从缓存中取出;而npm是顺序安装,二次安装下载的模块的时,会重新在官网下载。

yarn和npm命令对比

  • npm install / yarn
  • npm install react --save / yarn add react
  • npm uninstall react --save / yarn remove react
  • npm install react --save-dev / yarn add react --dev
  • npm update --save / yarn upgrade

👉4. pnpm / 安装 pnpm,提升依赖的安装速度

  • npm config set registry https://registry.npmjs.org npm install -g pnpm
  • pnpm install 安装

pnpm,performant npm,意味"高性能的npm",在使用命令上和npm有一些区别,关键在于效率上,作为一款包管理器相较于其他包管理器的优势在于它拥有更高的安装速度和更高的磁盘利用率。

在这里插入图片描述

👉5. nvm管理node版本

每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,方便的在同一台设备上进行多个node版本之间切换。

nvm下载

注意:安装nvm时不能安装任何node版本(如存在请删除后再安装nvm),再检查环境变量,如果还有node.js相关也删掉,保证系统无任何node.js 残留。

安装包下载地址:https://github.com/coreybutler/nvm-windows/releases,windows系统下载nvm-setup.zip安装包

E5%85%B7%E5%8C%85_files%2F6.jpg&pos_id=img-RG46BCZe-1700465302103)

nvm安装

  • 安装步骤

    • 卸载当前电脑中的node版本

    • 按照流程一步步安装nvm

    • 确保nvm安装文件夹中一定要有node.js文件夹快捷方式
      在这里插入图片描述

    • 打开cmd,输入nvm 当显示以下内容时,即安装成功
      在这里插入图片描述

    • 安装完毕后输入 nvm -v 查看版本。

nvm配置

  • 打开nvm安装包里的setting.txt,进行设置
    在这里插入图片描述

    
    node_mirror: https://npm.taobao.org/mirrors/node/
    npm_mirror: https://npm.taobao.org/mirrors/npm/
    
    

    在这里插入图片描述

  • 打开电脑的系统配置,设置全局变量

    NVM_HOME     D:\nvm\nvm
    NVM_SYMLINK  D:\nvm\nvm\node.js
    
    

nvm命令

  • 使用nvm控制nodejs的版本需要使用nvm安装对应版本的nodejs

  • 常用的nvm命令:

    • nvm v 查询nvm的版本
    • nvm h 显示帮助
    • nvm install 版本号 安装对应版本的nodejs
    • nvm install 安装最新版本的nodejs
    • nvm install stable 安装最新稳定版本的nodejs
    • nvm uninstall 版本号 卸载对应版本的nodejs
    • nvm on 启用node.js版本管理
    • nvm off 禁用node.js版本管理(不卸载任何东西)
    • nvm ls / nvm list 显示所有安装的node.js版本
    • nvm list available 显示可以安装的所有node.js版本
    • nvm use 版本号 切换指定的nodejs版本

【注意】

nvm use <version> 切换完对应版本的nodejs后,使用 nvm ls / nvm list 会发现切换完的指定版本会出现*,这就表示切换成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
那么,如果版本前的*不显示会怎么样,有什么解决方法?

* 不显示会导致node切换版本失败,node和npm也无法使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决方法

在nvm安装文件夹中,一定要有node.js快捷方式文件,如果没有,可以将版本安装包复制一份快捷方式,重命名为node.js,问题迎刃而解。
在这里插入图片描述
nvm use 版本号 nvm重新切换nodejs的版本号
在这里插入图片描述
nvm list 查看选定的版本前是否有*
在这里插入图片描述

👉6. nrm / yrm 管理镜像文件工具

  • 通过命令全局下载: cnpm install -g yrm
  • yrm -h 获取命令作用指南
  • yrm ls 显示所有的镜像源
  • yrm use ‘源名称’ 更换镜像源
  • yrm test ‘源名称’

目前常用镜像

npm ---- https://registry.npmjs.org/
cnpm — https://registry.nlark.com/
taobao - https://registry.npm.taobao.org
yarn — https://registry.yarnpkg.com/
tencent- https://mirrors.cloud.tencent.com/npm/

查看当前包管理镜像地址

yarn config get registry

npm config get registry

cnpm config get registry

pnpm config get registry

设置镜像源

全局使用

yarn config set registry https://registry.npm.taobao.org

cnpm config set registry https://registry.nlark.com/

临时在项目中使用

npm install --registry https://registry.npm.taobao.org

👉👉包管理总结

windows用户:推荐使用yarn/npm,可能cnpm/pnpm安装速度优于yarn/npm,但是可能造成诡异的 bug,比如项目运行不起来等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
OSZAR »