【vue】《 npm、pnpm和cnpm的区别及使用 》
区别
npm
NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Vue/Node.js的包管理工具,相当于Java中的Maven、Python中的PIP。
npm是Node.js官方推出的包管理工具,它是JavaScript世界中最流行的包管理工具之一。通过npm,我们可以方便地安装、更新和删除项目的依赖包。npm默认使用的是官方的npm镜像源,但由于国内网络环境的限制,使用npm安装依赖包可能会比较慢。可以通过使用设置镜像源或者使用cnpm,后面会介绍到这点。
pnpm
PNPM是一个快速、轻量级、模块化、安全、节省磁盘空间、可靠的JavaScript包管理器,它与npm和yarn类似,但具有一些优势。它通过共享依赖项来减少磁盘空间和下载时间。它与npm兼容,并且可以在npm的基础上构建。
与npm不同的是,pnpm使用了一种称为“符号链接”的机制来共享依赖包。这意味着,当多个项目使用相同的依赖包时,它们实际上共享同一个依赖包的副本,而不是每个项目都拥有自己的副本。这样可以显著减少磁盘空间的占用,并且安装依赖包的速度也会更快。
cnpm
cnpm是淘宝团队开发的一个针对中国用户的npm镜像源,它是npm的一个定制版本。由于国外的npm源在国内访问速度较慢,所以cnpm镜像源可以提供更快的下载速度。cnpm的使用方式与npm基本相同,只需将`npm`替换为`cnpm`即可。
常用操作
npm
使用npm命令需要先在项目根目录下初始化一个package.json文件
## 创建项目 npm init ## 按照提示输入相关信息,如果是用默认值则直接回车即可。 ## package name: 项目名称 ## version: 项目版本号 ## description: 项目描述 ## keywords: {Array}关键词,便于用户搜索到我们的项目 ## author 作者 ## license: (ISC) 授权license ## 最后会生成package.json文件
## 查看当前 npm 源 npm config get registry ## 设置镜像地址,切换为 taobao 源: npm config set registry="https://registry.npm.taobao.org"
## 安装依赖包 npm install 依赖包名 ## 默认参数:--save 简写 -S 将当前依赖保存在dependencies节点下 ## --save-dev 简写 -D 将当前依赖保存在 devDependencies 节点下 ## dependencies 字段用于存放项目的运行时依赖包,项目打包时会一并打包进去 ## devDependencies 字段用于存放开发时依赖包,如测试框架、构建工具等,项目打包时不会将工具打包进去 ## --global 简写 -g 会将指定的依赖安装到全局环境中
## 更新依赖包 npm update 依赖包名 ## -g 全局更新依赖 ## -S 更新到dependencies节点 ## -D 更新到devDependencies节点
## 卸载依赖包 npm uninstall 依赖包名 ## -g 全局更新卸载依赖 ## -S 卸载dependencies节点下的依赖包 ## -D 卸载devDependencies节点下的依赖包
## 查看已安装的依赖项 npm list ## 简写 ls
## 发布自己编写的库 ## 该命令会将当前项目打包成一个.tar.gz文件 npm pack ## 将打包好的文件上传到npm官方仓库中 npm publish
pnpm
## 安装pnpm npm install -g pnpm ## 其他常用命令同npm一致
cnpm
## 安装cnpm npm install -g cnpm ## 其他常用命令同npm一致
本文作者:芋白🥕
本文链接:https://www.cnblogs.com/-CO-/p/17967650
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)