首页 > 其他分享 >前端包管理工具 -- NPM、CNPM、NVM、NRM、YARN、NPX、PNPM

前端包管理工具 -- NPM、CNPM、NVM、NRM、YARN、NPX、PNPM

时间:2024-08-06 13:54:28浏览次数:13  
标签:NPM npm 依赖 NRM CNPM npx pnpm nvm 安装

前端包管理工具

NPM、CNPM、NVM、NRM、YARN、NPX、PNPM

在这里插入图片描述

一、npm

包管理工具、常用命令

npm install <pack_name>
npm run dev

# npm仓库登录、退出
npm login
npm logout
npm adduser

# npm 发布
npm publish
npm unpublish

npm info <pack_name>

二、cnpm

淘宝的npm源、用法同npm

cnpm install

三、nvm

node的version版本管理工具

npm i -g nvm					# 安装
nvm ls							# 列出所有
nvm use 18						# 切换版本				
# 安装版本
nvm install 16.19.1
nvm uninstall 16.19.1

# 使用node18运行app.js
nvm run 18 app.js

四、nrm

npm源的管理工具

npm i -g nrm						# 安装
nrm ls								# 列表
nrm use <name>						# 切换源
nrm add <name> <url> <home>			# 添加源
nrm current  						# 当前源

五、yarn

特性/方面npmyarn
性能默认情况下性能可能受到网络影响,npm 7 引入了性能优化使用并行安装和缓存机制,提供更好的安装速度
依赖锁定npm 5 引入 package-lock.json 文件锁定依赖使用 yarn.lock 文件,从一开始就支持依赖锁定
工作区支持npm 7 引入工作区支持从一开始就支持工作区,方便管理多个包
插件系统提供插件系统,允许扩展功能提供插件系统,但社区支持和插件数量较少
配置文件使用 package.jsonnpm-shrinkwrap.json使用 package.jsonyarn.lock 文件
社区和生态系统官方工具,拥有庞大的社区和生态系统社区不断增长,但与 npm 相比规模较小
兼容性作为官方工具,兼容性高兼容大多数 npm 包,但可能存在行为差异
命令行界面提供丰富的命令行命令命令行界面与 npm 类似,但命名和用法有所不同

这个表格概括了 npm 和 yarn 在性能、依赖锁定、工作区支持、插件系统、配置文件、社区和生态系统以及命令行界面方面的主要差异。开发者可以根据自己的项目需求和偏好来选择使用哪个工具。

六、NPX

包执行器,运行 npm 包中的可执行文件,而无需全局安装这些包

  1. 无需全局安装:使用 npx 运行任何 npm 包,而无需安装其到全局环境。
  2. 本地执行npx 默认会在当前项目的 node_modules/.bin 目录下查找可执行文件,这意味着它会使用项目依赖中的包,而不是全局依赖。
  3. 临时安装:如果你需要全局安装一个包来运行它,npx 可以为你临时安装该包,这样它就不会影响全局依赖。
  4. 简化命令npx 简化了命令行的使用,而不需要记住复杂的命令。
  5. 支持 npm 脚本npx 可以执行 package.json 中定义的 npm 脚本。
  6. 环境隔离npx 创建了一个隔离的环境来运行命令,这有助于避免污染全局环境。

使用 npx 的基本语法如下:

npx <package>@<version> [args]

或者,如果你想要执行一个 npm 脚本:

npx <package> -- <args>

例如,如果你想运行 create-react-app 来创建一个新的 React 项目,你可以这样做:

npx create-react-app my-app

七、PNPM

pnpm(Parallel Node Package Manager):高效的包管理器,它提供了一种全新的方式安装和管理 Node.js 包。pnpm 的目标是解决 npm 和 yarn 在处理大型依赖树时的性能问题,以及减少磁盘空间的使用。

  1. 并行安装pnpm 能够并行安装依赖,这大大加快了安装速度。

  2. 磁盘空间节省pnpm 使用硬链接(hard links)来共享依赖,这意味着相同的包只会在磁盘上存储一次,即使多个项目依赖于它。这显著减少了磁盘空间的使用。

  3. 依赖隔离:每个项目都有自己的依赖树,这有助于避免依赖冲突。

  4. 快照pnpm 使用快照(snapshot)来跟踪依赖的状态,这使得依赖的安装和更新更加快速。

  5. 兼容性pnpm 与 npm 和 yarn 的工作方式兼容,可以无缝替换它们。

  6. 支持工作区pnpm 支持工作区(workspaces),允许你在一个仓库中管理多个项目。

  7. 环境隔离pnpm 创建隔离的环境来运行项目,确保环境的一致性。

  8. 无需全局安装:与 npx 类似,pnpm 允许你运行包的可执行文件,而无需全局安装。

pnpm install
pnpm run <script-name>
# 全局安装一个包
pnpm add -g <package-name>

推荐,vue3源码使用pnpm进行管理仓库

标签:NPM,npm,依赖,NRM,CNPM,npx,pnpm,nvm,安装
From: https://blog.csdn.net/weixin_40240616/article/details/140954060

相关文章

  • nrm -- 快速切换下载镜像
    1.简介nrm是npm的镜像源管理工具,有时候国外资源太慢,使用nrm可以加速的在npm源之间切换。2.安装npminstall-gnrm3.基本使用nrmls查看可选择的源nrmuse对应的镜像切换到对应的镜像源nrmdel对应的镜像源删除镜像源nrmaddregistryhttp://registry.n......
  • npm下载包时报错 Unexpected token ‘.‘问题解决
    项目场景:项目需要使用node18.12.0以上版本的,但是npm下载显示异常问题描述当通过nvm切换nodejs版本为16以上时,npminstall[package]报错:Unexpectedtoken'.'原因分析:提示:该问题不是npm的问题,也不是nodejs的问题,是nvm-windows的问题我是通过nvm-windows已经更新版本......
  • pnpm-lock.yaml文件对项目构建有影响吗 pnpm-lock.yaml本地变更需要提交相关变更吗
    pnpm-lock.yaml文件是Pnpm包管理器生成的锁文件,用于锁定项目依赖的确切版本。这个文件确保了在不同环境中安装依赖时,所有开发者和部署系统都能获得一致的依赖树。对项目构建的影响:一致性:pnpm-lock.yaml确保了项目依赖的一致性,无论在哪个环境或哪个开发者的机器上构建项目,......
  • 打造前端开发的利器--NPM
    个人名片......
  • 深入解析与实战:解决 npm ERR! network ‘proxy‘ 配置问题
    在日常的前端开发工作中,使用npm(NodePackageManager)进行依赖管理已经成为了常态。然而,在某些情况下,我们可能会遇到网络配置问题导致的错误信息,比如npmERR!network'proxy'configissetproperly。本文将详细介绍如何解决这一问题,并通过实际案例演示正确的配置方法。......
  • npm执行速度慢的问题
    查看npm代理npmconfiggetregistry更换npm镜像npmconfigsetregistry=https://registry.npmmirror.com安装cnpmnpminstall-gcnpm--registry=https://registry.npmmirror.comnpminstall-gcnpm:这部分命令的意思是使用npm来全局安装cnpm。-g参数表示全......
  • npm 使用
    npm镜像npm默认包地址在:https://registry.npmjs.org/比较慢修改包地址:npmconfigsetregistryhttps://registry.npm.taobao.orgnpmconfigsetregistryhttp://mirrors.cloud.tencent.com/npm/npmconfigsetregistryhttps://registry.npmjs.org/证书过期npmhttp......
  • 【问题解决方案】npm install报错问题:npm ERR! - 多种解决方案,总有一种可以解决
    @[toc]1.问题重述安装package.json里面的包,使用npminstall但是报错2.解决方案方案1.确认根目录正确确认自己的目录是根目录(也就是处于./package.json可以找到的位置)例如--根目录----package.json----其他文件----其他文件方案2.确认文件名正确确认自己的pack......
  • 探索npm、cnpm和yarn
    我们在使用前端包管理工具时经常见到npm、cnpm和yarn,那么他们之间有什么区别呢?使用方法是怎样的?我们来了解一下。npm(NodePackageManager):npm是Node.js的默认包管理器,用于安装、发布和管理JavaScript包。它是一个命令行工具,可以在终端中使用。npm有一个全球的包仓库,可......
  • 配置npm镜像源,安装依赖
    npmlogin命令可以通过--registry参数来指定不同的npm仓库进行登录。‌当你需要登录到特定的npm仓库时,‌可以使用npmlogin--registry=<url>命令,‌其中<url>是你想要登录的npm仓库的URL。‌例如,‌如果你想要登录到官方的npm仓库,‌你可以使用npmlogin命令(‌默认登录到官方的npm......