npm 和 pip 、cnpm、Yum分别是什么

经常看到 npm 、cnpm 和 pip 等等术语,这些近些年时髦的词是怎么回事呢?

pip

pip,全称是:package installer for Python,它是一个现代的,通用的 Python 包管理工具,是 easy_install 的替代品。提供了对 Python 包的查找、下载、安装、卸载的功能。只要有人把某个代码模块打包放在一个叫做 PiPI 的地方,其他人就可以从这个 PiPI 中下载安装包。只要包存在于 PiPI,都能使用 pip 命令来安装下载。

如果不指定下载源,默认从官方的 PyPI 下载,也可以通过指定下载源来让 pip 从指定的 pypi 找包然后安装,比如有些公司可能有自己的源,如果想下载公司内部的工具包,就得在使用 pip 命令时加上源参数。

PyPI,全称是:Python Package Index,它是Python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到 PyPI。

Python 内置了 pip,Python 使用 pip 来安装包。pip 运行在 Python 上。

例如:使用命令pip install -U selenium 安装selenium了。

npm

NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Vue/Node.js的包管理工具,相当于Java中的Maven、Python中的PIP。

Node.js 内置了 npm,Node.js 使用 npm 来安装 module 包,npm 是用 Javascript 写的,运行在 Node.js 上。

npm是Node.js官方推出的包管理工具,它是JavaScript世界中最流行的包管理工具之一。通过npm,我们可以方便地安装、更新和删除项目的依赖包。npm默认使用的是官方的npm镜像源,但由于国内网络环境的限制,使用npm安装依赖包可能会比较慢。可以通过使用设置镜像源或者使用cnpm。

只要有人把某个代码模块打包放在一个叫做「npm Registry」的地方,其他人就可以从这个「npm Registry」中下载安装包,只要包存在于「npm registry」,都能使用 npm 命令来安装下载。

如果不指定下载源,默认从官方的 「npm Registry」下载,也可以通过指定下载源来让 npm 从指定的 Registry 找包然后安装,比如有些公司可能有自己的源,如果想下载公司内部的工具包,就得在使用 npm 命令时加上源参数。

pnpm

PNPM是一个快速、轻量级、模块化、安全、节省磁盘空间、可靠的JavaScript包管理器,它与npm和yarn类似,但具有一些优势。它通过共享依赖项来减少磁盘空间和下载时间。它与npm兼容,并且可以在npm的基础上构建。

与npm不同的是,pnpm使用了一种称为"符号链接"的机制来共享依赖包。这意味着,当多个项目使用相同的依赖包时,它们实际上共享同一个依赖包的副本,而不是每个项目都拥有自己的副本。这样可以显著减少磁盘空间的占用,并且安装依赖包的速度也会更快。

cnpm

cnpm是淘宝团队开发的一个针对中国用户的npm镜像源,它是npm的一个定制版本。由于国外的npm源在国内访问速度较慢,所以cnpm镜像源可以提供更快的下载速度。cnpm的使用方式与npm基本相同,只需将`npm`替换为`cnpm`即可,或者在命令后面加上taobao 的npm地址用于国内下载。

Yum (全称为 Yellow dog Updater, Modified)是一个适用于linux的, 在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。linux 用Yum安装 pip......

相关推荐
打呵欠的猫8 分钟前
我用 AI 写了一个"需求翻译器",产品的 PRD 直接变成开发任务清单
前端·ai编程
fatcoder8 分钟前
玩转Nginx 09 — 运维排障:三场"火灾"实战演练
前端·后端·nginx
前端玩坑坑8 分钟前
View Transitions API 入门教程,优雅过度
前端
AAA@峥19 分钟前
Python 基础开篇:认识 Python、版本选择、环境部署与首个 HelloWorld
开发语言·python
Metaphor69229 分钟前
使用 Python 快速在 Word 文档中插入图片
python·word
李高钢41 分钟前
WPF MVVM Light(三):RelayCommand 命令与 Messenger 消息
前端·c#·wpf
2601_9668714044 分钟前
Python 爬虫 + 数据挖掘实战:数据抓取与深度挖掘分析全流程
爬虫·python·数据挖掘
青禾8371 小时前
Linux 系统信息、权限管理与 Python 并发编程(协程与线程)完全指南
linux·python
lichenyang4531 小时前
Socket.IO 原理与技术选型
前端
曲无忆1 小时前
密码学三大核心技术解析
python·密码学