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......

相关推荐
用户033307413952 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey2 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
蜗牛互联网2 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
statistican_ABin3 小时前
中国国际旅游发展分析报告—基于世界银行国际旅游数据的多维度分析
python·机器学习·旅游
青少儿编程课堂3 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
code2cat3 小时前
【随笔】MCP工具注解的信任边界:四个提示如何参与调用决策
python·ai agent·mcp
慢云智慧空间3 小时前
从设备智能到空间理解,慢云科技如何重新定义智慧建筑
python·科技
浮链序3 小时前
用 Claude Haiku 5.5 做子智能体路由,把 Agent 成本砍掉六成
人工智能·python·llm
IT_陈寒3 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
冯一川3 小时前
安装Pyside 6
python