包管理器npm, cnpm, yarn 和 pnpm 的命令

npm (Node Package Manager)

安装与更新

  • npm installnpm i

    • 安装项目依赖:根据 package.json 文件安装所有列出的依赖。
    • 参数
      • -S, --save:保存到 dependencies(默认行为)。
      • -D, --save-dev:保存到 devDependencies
      • -O, --save-optional:保存到 optionalDependencies
      • --no-save:不修改 package.json
      • --legacy-peer-deps:忽略 peer dependencies 的冲突。
      • --production:只安装生产依赖(即不在 devDependencies 中的包)。
    • 使用场景:适用于首次安装或更新项目依赖。
  • npm install <package>npm i <package>

    • 安装指定包:安装一个特定的 npm 包。
    • 参数
      • @<version>:安装特定版本。
      • --save-exact:保存精确版本号。
      • -g:全局安装。
    • 使用场景:适用于添加新依赖或安装特定版本的包。
  • npm update

    • 更新所有依赖:更新所有依赖到最新版本(受限于 package.json 的版本范围)。
    • 参数
      • --save:保存更新后的版本到 package.json
    • 使用场景:适用于保持项目依赖为最新状态。
  • npm outdated

    • 列出可更新的包:显示当前已安装但有新版本可用的包及其版本信息。
    • 使用场景:帮助开发者了解哪些包可以更新。

发布与管理包

  • npm publish

    • 发布包:将本地包发布到 npm 注册表。
    • 参数
      • --access public|restricted:设置包的访问权限。
    • 使用场景:适用于发布新的包或更新现有包。
  • npm unpublish <package>@<version>

    • 移除包:从 npm 注册表中移除一个包的特定版本。
    • 参数
      • --force:强制移除。
    • 使用场景:适用于删除不再需要的包版本。
  • npm deprecate <package> "message"

    • 废弃包:标记一个包为废弃并附带一条消息。
    • 使用场景:适用于通知用户某个包不再维护或推荐替代方案。

管理全局包

  • npm install -g <package>npm i -g <package>

    • 全局安装:安装一个包到全局环境中。
    • 使用场景:适用于安装 CLI 工具或其他需要全局访问的包。
  • npm uninstall -g <package>

    • 卸载全局包:从全局环境中移除一个包。
    • 使用场景:适用于清理不再需要的全局包。

脚本与命令

  • npm run <script-name>

    • 运行脚本:执行定义在 package.json 中的脚本。
    • 使用场景:适用于执行构建、测试、部署等任务。
  • npm start

    • 启动应用:等同于 npm run start
    • 使用场景:适用于启动应用程序。
  • npm test

    • 运行测试:等同于 npm run test
    • 使用场景:适用于执行测试套件。
  • npm exec <command>npx <command>

    • 临时执行命令:无需安装即可执行一个命令。
    • 使用场景:适用于一次性使用某些工具或命令。

工具与信息

  • npm init

    • 初始化项目:创建一个新的 package.json 文件。
    • 参数
      • -y, --yes:自动确认所有默认选项。
    • 使用场景:适用于开始新项目。
  • npm audit

    • 安全审计:检查项目的依赖树中是否有已知的安全漏洞。
    • 参数
      • --production:只扫描生产依赖。
    • 使用场景:适用于确保项目安全性。
  • npm view <package>

    • 查看包信息:显示 npm 注册表中包的详细信息。
    • 使用场景:适用于获取包的元数据。
  • npm search <query>

    • 搜索包:在 npm 注册表中搜索包。
    • 使用场景:适用于查找特定功能或名称的包。
  • npm outdated

    • 列出过时包:显示当前已安装但有新版本可用的包及其版本信息。
    • 使用场景:帮助开发者了解哪些包可以更新。
  • npm ls <package>

    • 列出安装情况:显示指定包的安装情况。
    • 使用场景:适用于检查特定包是否已安装。
  • npm list

    • 列出所有包:显示所有已安装的包。
    • 使用场景:适用于查看当前项目的依赖结构。

其他

  • npm ci

    • 一致性安装:严格按照 package-lock.json 安装依赖,适合 CI/CD 环境。
    • 使用场景:确保构建环境的一致性。
  • npm cache clean --force

    • 清理缓存:清除 npm 缓存。
    • 使用场景:解决缓存相关问题或释放磁盘空间。
  • npm link

    • 创建符号链接:方便本地开发和测试。
    • 使用场景:适用于开发期间快速测试本地模块。
  • npm unlink

    • 删除符号链接:移除通过 npm link 创建的链接。
    • 使用场景:清理不再需要的符号链接。

cnpm (China npm)

基础命令

  • cnpm installcnpm i

    • 安装项目依赖:基于中国的镜像源安装项目依赖。
    • 使用场景:适用于国内开发者,加快下载速度。
  • cnpm install <package>cnpm i <package>

    • 安装指定包:基于中国的镜像源安装指定包。
    • 使用场景:适用于国内开发者,加快下载速度。
  • cnpm update

    • 更新所有依赖:基于中国的镜像源更新所有依赖。
    • 使用场景:适用于国内开发者,保持项目依赖为最新状态。
  • cnpm outdated

    • 列出可更新的包:基于中国的镜像源列出可更新的包。
    • 使用场景:帮助国内开发者了解哪些包可以更新。

发布与管理包

  • cnpm publish

    • 发布包:基于中国的镜像源发布包。
    • 使用场景:适用于国内开发者发布包到 npm 注册表。
  • cnpm unpublish <package>@<version>

    • 移除包:基于中国的镜像源移除包。
    • 使用场景:适用于国内开发者移除不再需要的包版本。

管理全局包

  • cnpm install -g <package>cnpm i -g <package>

    • 全局安装:基于中国的镜像源全局安装包。
    • 使用场景:适用于国内开发者安装 CLI 工具或其他需要全局访问的包。
  • cnpm uninstall -g <package>

    • 卸载全局包:基于中国的镜像源卸载全局包。
    • 使用场景:适用于国内开发者清理不再需要的全局包。

脚本与命令

  • cnpm run <script-name>

    • 运行脚本:基于中国的镜像源执行定义在 package.json 中的脚本。
    • 使用场景:适用于国内开发者执行构建、测试、部署等任务。
  • cnpm start

    • 启动应用:基于中国的镜像源启动应用程序。
    • 使用场景:适用于国内开发者启动应用程序。
  • cnpm test

    • 运行测试:基于中国的镜像源运行测试套件。
    • 使用场景:适用于国内开发者执行测试。

工具与信息

  • cnpm init

    • 初始化项目:基于中国的镜像源创建一个新的 package.json 文件。
    • 使用场景:适用于国内开发者开始新项目。
  • cnpm audit

    • 安全审计:基于中国的镜像源检查项目的依赖树中是否有已知的安全漏洞。
    • 使用场景:适用于国内开发者确保项目安全性。
  • cnpm view <package>

    • 查看包信息:基于中国的镜像源显示 npm 注册表中包的详细信息。
    • 使用场景:适用于国内开发者获取包的元数据。
  • cnpm search <query>

    • 搜索包:基于中国的镜像源在 npm 注册表中搜索包。
    • 使用场景:适用于国内开发者查找特定功能或名称的包。

其他

  • cnpm ci

    • 一致性安装:基于中国的镜像源严格按照 package-lock.json 安装依赖,适合 CI/CD 环境。
    • 使用场景:确保国内开发者的构建环境一致性。
  • cnpm cache clean

    • 清理缓存:基于中国的镜像源清除 npm 缓存。
    • 使用场景:解决国内开发者的缓存相关问题或释放磁盘空间。

Yarn

安装与更新

  • yarn installyarn

    • 安装项目依赖:根据 package.json 和 yarn.lock 文件安装所有列出的依赖。
    • 参数
      • --check-files:检查文件完整性。
      • --ignore-scripts:忽略脚本。
      • --frozen-lockfile:严格遵循 yarn.lock
    • 使用场景:适用于首次安装或更新项目依赖。
  • yarn add <package>

    • 添加并安装指定包:安装一个特定的 npm 包。
    • 参数
      • -D, --dev:保存到 devDependencies
      • -P, --peer:保存到 peerDependencies
      • -O, --optional:保存到 optionalDependencies
      • --exact:保存精确版本号。
    • 使用场景:适用于添加新依赖或安装特定版本的包。
  • yarn upgrade

    • 更新所有依赖:更新所有依赖到最新版本(受限于 package.json 的版本范围)。
    • 参数
      • --latest:升级到最新的稳定版。
    • 使用场景:适用于保持项目依赖为最新状态。
  • yarn upgrade-interactive

    • 交互式更新:交互式选择要更新的包。
    • 使用场景:适用于精细控制更新过程。

发布与管理包

  • yarn publish

    • 发布包:将本地包发布到 npm 注册表。
    • 使用场景:适用于发布新的包或更新现有包。
  • yarn unpublish <package>@<version>

    • 移除包:从 npm 注册表中移除一个包的特定版本。
    • 使用场景:适用于删除不再需要的包版本。

管理全局包

  • yarn global add <package>

    • 全局安装:安装一个包到全局环境中。
    • 使用场景:适用于安装 CLI 工具或其他需要全局访问的包。
  • yarn global remove <package>

    • 卸载全局包:从全局环境中移除一个包。
    • 使用场景:适用于清理不再需要的全局包。

脚本与命令

  • yarn run <script-name>

    • 运行脚本:执行定义在 package.json 中的脚本。
    • 使用场景:适用于执行构建、测试、部署等任务。
  • yarn start

    • 启动应用:等同于 yarn run start
    • 使用场景:适用于启动应用程序。
  • yarn test

    • 运行测试:等同于 yarn run test
    • 使用场景:适用于执行测试套件。

工具与信息

  • yarn init

    • 初始化项目:创建一个新的 package.json 文件。
    • 使用场景:适用于开始新项目。
  • yarn audit

    • 安全审计:检查项目的依赖树中是否有已知的安全漏洞。
    • 使用场景:适用于确保项目安全性。
  • yarn why <package>

    • 查找来源:查找特定包的来源。
    • 使用场景:适用于理解为什么某些包会被安装。
  • yarn info <package>

    • 查看包信息:显示 npm 注册表中包的详细信息。
    • 使用场景:适用于获取包的元数据。
  • yarn licenses generate-disclaimer

    • 生成许可证声明:生成许可证免责声明。
    • 使用场景:适用于法律合规和许可管理。
  • yarn outdated

    • 列出过时包:显示当前已安装但有新版本可用的包及其版本信息。
    • 使用场景:帮助开发者了解哪些包可以更新。

其他

  • yarn install --frozen-lockfile

    • 一致性安装:严格按照 yarn.lock 安装依赖,适合 CI/CD 环境。
    • 使用场景:确保构建环境的一致性。
  • yarn cache clean

    • 清理缓存:清除 yarn 缓存。
    • 使用场景:解决缓存相关问题或释放磁盘空间。
  • yarn dlx <command>

    • 临时执行命令:无需安装即可执行一个命令。
    • 使用场景:适用于一次性使用某些工具或命令。

pnpm

安装与更新

  • pnpm installpnpm i

    • 安装项目依赖:根据 package.json 和 pnpm-lock.yaml 文件安装所有列出的依赖。
    • 参数
      • --prefer-offline:优先使用缓存。
      • --strict-peer-dependencies:严格处理 peer dependencies。
    • 使用场景:适用于首次安装或更新项目依赖。
  • pnpm add <package>

    • 添加并安装指定包:安装一个特定的 npm 包。
    • 参数
      • -S, --save-prod:保存到 dependencies
      • -D, --save-dev:保存到 devDependencies
      • -O, --save-optional:保存到 optionalDependencies
      • --save-exact:保存精确版本号。
    • 使用场景:适用于添加新依赖或安装特定版本的包。
  • pnpm update

    • 更新所有依赖:更新所有依赖到最新版本(受限于 package.json 的版本范围)。
    • 参数
      • --latest:升级到最新的稳定版。
    • 使用场景:适用于保持项目依赖为最新状态。
  • pnpm outdated

    • 列出可更新的包:显示当前已安装但有新版本可用的包及其版本信息。
    • 使用场景:帮助开发者了解哪些包可以更新。

发布与管理包

  • pnpm publish

    • 发布包:将本地包发布到 npm 注册表。
    • 使用场景:适用于发布新的包或更新现有包。
  • pnpm unpublish <package>@<version>

    • 移除包:从 npm 注册表中移除一个包的特定版本。
    • 使用场景:适用于删除不再需要的包版本。

管理全局包

  • pnpm install -g <package>pnpm i -g <package>

    • 全局安装:安装一个包到全局环境中。
    • 使用场景:适用于安装 CLI 工具或其他需要全局访问的包。
  • pnpm uninstall -g <package>

    • 卸载全局包:从全局环境中移除一个包。
    • 使用场景:适用于清理不再需要的全局包。

脚本与命令

  • pnpm run <script-name>

    • 运行脚本:执行定义在 package.json 中的脚本。
    • 使用场景:适用于执行构建、测试、部署等任务。
  • pnpm start

    • 启动应用:等同于 pnpm run start
    • 使用场景:适用于启动应用程序。
  • pnpm test

    • 运行测试:等同于 pnpm run test
    • 使用场景:适用于执行测试套件。

工具与信息

  • pnpm init

    • 初始化项目:创建一个新的 package.json 文件。
    • 使用场景:适用于开始新项目。
  • pnpm audit

    • 安全审计:检查项目的依赖树中是否有已知的安全漏洞。
    • 使用场景:适用于确保项目安全性。
  • pnpm why <package>

    • 查找来源:查找特定包的来源。
    • 使用场景:适用于理解为什么某些包会被安装。
  • pnpm info <package>

    • 查看包信息:显示 npm 注册表中包的详细信息。
    • 使用场景:适用于获取包的元数据。
  • pnpm licenses

    • 管理许可证:管理许可证。
    • 使用场景:适用于法律合规和许可管理。
  • pnpm outdated

    • 列出过时包:显示当前已安装但有新版本可用的包及其版本信息。
    • 使用场景:帮助开发者了解哪些包可以更新。

其他

  • pnpm install --frozen-lockfile

    • 一致性安装:严格按照 pnpm-lock.yaml 安装依赖,适合 CI/CD 环境。
    • 使用场景:确保构建环境的一致性。
  • pnpm recursive <command>

    • 递归执行命令:在 monorepo 中递归执行命令。
    • 使用场景:适用于多包仓库中的批量操作。
  • pnpm dlx <command>

    • 临时执行命令:无需安装即可执行一个命令。
    • 使用场景:适用于一次性使用某些工具或命令。
  • pnpm cache clean

    • 清理缓存:清除 pnpm 缓存。
    • 使用场景:解决缓存相关问题或释放磁盘空间。
  • pnpm link

    • 创建符号链接:方便本地开发和测试。
    • 使用场景:适用于开发期间快速测试本地模块。
  • pnpm unlink

    • 删除符号链接:移除通过 pnpm link 创建的链接。
    • 使用场景:清理不再需要的符号链接。

总结

每个工具的核心命令非常相似,但有一些细微的区别和各自特有的功能。以下是几个关键点:

  • 锁文件npm 使用 package-lock.jsonYarn 使用 yarn.lock,而 pnpm 使用 pnpm-lock.yaml 来锁定依赖版本。
  • 安装速度pnpm 由于其符号链接机制通常具有最快的安装速度,特别是在处理大型项目或 monorepo 时表现尤为突出。
  • monorepo 支持Yarn 和 pnpm 提供了强大的多包仓库(monorepos)支持,方便管理和同步多个包之间的依赖关系。
  • 国内网络优化cnpm 对中国区开发者提供了更快的下载速度和更好的用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中权重剪枝,低秩分解,量化技术 代码

目录 python中权重剪枝,低秩分解,量化技术 代码 权重剪枝 低秩分解 scipy 量化技术 python中权重剪枝,低秩分解,量化技术 代码 权重剪枝 权重剪枝可以通过PyTorch的torch.nn.utils.prune模块实现。以下是一个简单的例子: import torch import torch.nn as nn impor…

如何让Google快速收录你的页面?

要让Google更快地收录你的网站内容&#xff0c;首先需要理解“爬虫”这个概念。Google的爬虫是帮助它发现和评估网站内容质量的工具&#xff0c;如果你的页面质量高且更新频率稳定&#xff0c;那么Google爬虫更可能频繁光顾。通常情况下&#xff0c;通过Google Search Console&…

使用 Flutter 进行移动应用开发:深入探索

文章目录 前言一、介绍二、安装 Flutter 环境三、Flutter 应用结构与基础组件四、状态管理策略五、高级主题结语 前言 随着移动技术的迅猛发展&#xff0c;跨平台开发的需求日益增长。开发者们一直在寻找一种既能保证应用性能又能减少开发成本和时间的技术方案。Flutter 应运而…

qtcanpool 知 10:包管理雏形

文章目录 前言痛点转机雏形实践后语 前言 曾听闻&#xff1a;C/Qt 没有包管理器&#xff0c;开发起来太不方便。这是一个有过 node.js 开发经验的人对 Qt 的吐槽。 确实&#xff0c;像 python、golang、node.js 这些编程语言都有包管理器&#xff0c;给用户带来了极佳的开发体…

Python 浏览器自动化新利器:DrissionPage,让网页操作更简单!

Python 浏览器自动化新利器&#xff1a;DrissionPage&#xff0c;让网页操作更简单&#xff01; 文章目录 Python 浏览器自动化新利器&#xff1a;DrissionPage&#xff0c;让网页操作更简单&#xff01;&#x1f680; 引言&#x1f31f; DrissionPage简介&#x1f6e0;️ 三大…

网络安全知识:网络安全网格架构

在数字化转型的主导下&#xff0c;大多数组织利用多云或混合环境&#xff0c;包括本地基础设施、云服务和应用程序以及第三方实体&#xff0c;以及在网络中运行的用户和设备身份。在这种情况下&#xff0c;保护组织资产免受威胁涉及实现一个统一的框架&#xff0c;该框架根据组…

CEEMDAN-CPO-VMD二次分解(CEEMDAN+冠豪猪优化算法CPO优化VMD)

CEEMDAN-CPO-VMD二次分解&#xff08;CEEMDAN冠豪猪优化算法CPO优化VMD&#xff09; 目录 CEEMDAN-CPO-VMD二次分解&#xff08;CEEMDAN冠豪猪优化算法CPO优化VMD&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 首先运用CEEMDAN对数据进行一次分解&#xff…

Ubuntu 22.04安装Nessus(离线激活模式)

Ubuntu 22.04安装Nessus 一、 Nessus 简介二、Nessus下载安装三、激活Nessus四、创建一个基础扫描五、 破解Nessus只能扫描16个地址的限制六、更新插件 一、 Nessus 简介 Nessus 官网&#xff1a; https://www.tenable.com/ Nessus号称世界上最流行的扫描程序&#xff0c;Nessu…

Ubuntu22.04深度学习环境安装【显卡驱动安装】

前言 使用Windows配置环境失败&#xff0c;其中有一个包只有Linux版本&#xff0c;Windows版本的只有python3.10的&#xff0c;所以直接选用Linux来配置环境&#xff0c;显卡安装比较麻烦&#xff0c;单独出一期。 显卡驱动安装 方法一&#xff1a;在线安装&#xff08;操作…

简单的动态带特殊符号敏感词校验

简单的动态带特殊符号敏感词校验 敏感词之前进行了简单了解&#xff0c;使用结巴分词自带词库可以实现&#xff0c;具体参考我的如下博文 敏感词校验 此次在此基础进行了部分优化&#xff0c;优化过程本人简单记录一下&#xff0c;具体优化改造步骤如下所示 1.需求 我们公司…

后端技术进阶知识总结

前端开发、后端开发、AI算法与应用等技术进阶知识总结 前言1.前端开发2.后端开发3.AI算法3.1 Studio级别的AI工具使用 前言 本文不记录基础性问题和详细解决方案。只记录key idea。 1.前端开发 2.后端开发 依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&…

TCP客户端服务器端通信(线程池版)

1、什么是监听套接字&#xff0c;和UDP相比&#xff0c;TCP为什么文件描述符变多了&#xff1f; 在网络编程中&#xff0c;TCP和UDP是两种常见的传输协议&#xff0c;它们之间最大的不同之一在于连接的管理方式。为了更好地理解这个区别&#xff0c;我们可以用一个生动的比喻来…

FPGA:如何编写优秀的技术文档

编写一份优秀的FPGA项目技术文档确实是一项挑战&#xff0c;尤其是在需要同时传达技术深度和可读性的情况下。以下是我在FPGA设计领域积累的一些经验和方法&#xff0c;希望能为你的技术文档编写提供一些指导&#xff1a; 1. 明确文档的目的和目标受众 目的&#xff1a;确定文…

2024年天津市职业院校技能大赛高职组 “信息安全管理与评估”样题第三阶段

&#xff08;四&#xff09;第三阶段竞小组&#xff08;赛项&#xff09;目&#xff08;300分&#xff09; 第三阶段竞赛内容是:网络安全渗透&#xff08;夺旗挑战赛CTF&#xff09; 本模块要求参赛者作为攻击方&#xff0c;运用所学的信息收集、漏洞发现、漏洞利用等渗透测试技…

微搭低代码AI组件单词消消乐从0到1实践

目录 1 为什么要开发单词消消乐2 需要具备什么功能3 采用什么技术方案实现4 逻辑设计4.1 数据结构设计4.2 游戏的核心逻辑4.3 数据设计 5 代码详解5.1 导入依赖5.2 定义函数组件5.3 数据初始化5.4 状态定义5.5 打乱解释的逻辑5.6 定义选择单词的函数5.7 定义选择解释的函数5.8 …

SpringCloud 与 SpringBoot版本对应关系,以及maven,jdk

目录 SpringCloud 与 SpringBoot各版本的对应关系 方式一 Learn 方式二 OverView SpringBoot与JDK、maven 容器等对应关系 SpringCloud 与 SpringBoot各版本的对应关系 SpringCloudSpringBootFinchley2.0.xFinchley.SR1Spring Boot >=2.0.3.RELEASE and <=2.0.9RELEAS…

泷羽sec学习打卡-shell命令6

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于shell的那些事儿-shell6 if条件判断for循环-1for循环-2实践是检验真理的唯一标准 if条件判断 创建…

QT 中 sqlite 数据库使用

一、前提 --pro文件添加sql模块QT core gui sql二、使用 说明 --用于与数据库建立连接QSqlDatabase--执行各种sql语句QSqlQuery--提供数据库特定的错误信息QSqlError查看qt支持的驱动 QStringList list QSqlDatabase::drivers();qDebug()<<list;连接 sqlite3 数据库 …

万字长文解读深度学习——dVAE(DALL·E的核心部件)

&#x1f33a;历史文章列表&#x1f33a; 深度学习——优化算法、激活函数、归一化、正则化 深度学习——权重初始化、评估指标、梯度消失和梯度爆炸 深度学习——前向传播与反向传播、神经网络&#xff08;前馈神经网络与反馈神经网络&#xff09;、常见算法概要汇总 万字长…

【论文阅读】一名系统研究者的攀登之路

作者&#xff1a;陈海波 陈海波是操作系统、系统结构、并行与分布式系统方向大牛&#xff0c;上海交通大学大牛团队 学习体会&#xff1a; 计算机系统论文准备周期较长&#xff0c;十有八九都是在解决新问题的路上~ 因此学习大佬的学习经验&#xff0c;少踩坑&#xff0c;把主…