当前位置: 首页 > news >正文

nodejs:告别全局安装,npx 命令详解及其与 npm 的区别

nodejs 中,npx 扮演着一个方便的工具角色,它与我们熟悉的 npm 既有联系又有明显的区别。下面将详细解释 npx 的作用以及它与 npm 的不同之处。在这里插入图片描述

npx 的作用

npx 是一个 npm 包执行器,自 npm 5.2.0 版本开始,它就与 npm 捆绑在一起。 npx 的主要目的是提升从 npm 注册表中使用软件包的体验。

npx 最核心的功能是让我们能够直接运行 npm 包中的可执行文件,而无需进行全局安装。 当我们执行一个命令时,npx 会检查该命令是否存在于我们的项目本地的 node_modules/.bin 目录或者系统的环境变量 $PATH 中。如果存在,它会直接执行;如果不存在,npx 会临时下载对应的包,执行完命令后,通常会将下载的包删除,从而避免了在本地留下不必要的依赖包。

npx hardhat 命令中:

  • npx 负责执行 hardhat 这个包。
  • hardhat 是一个用于以太坊智能合约开发的流行框架,它提供了一系列工具和插件来帮助开发者进行编译、测试和部署等工作。
  • 通过 npx hardhat,我们可以直接使用 hardhat 提供的各种命令,例如 npx hardhat compile (编译合约) 或 npx hardhat test (运行测试),而不需要先将 hardhat 全局安装到我们的电脑上。

npxnpm 的区别

虽然 npxnpm 的一部分,但它们的侧重点不同,可以总结为以下几点:

特性npxnpm
核心功能执行 npm 包中的可执行文件。管理 (安装、卸载、更新) Node.js 包。
安装方式通常无需全局或本地安装包即可执行。需要先通过 npm install 命令安装包才能使用。
使用场景* 临时或一次性使用的命令行工具。
* 避免全局安装,减少版本冲突。
* 方便地使用不同版本的工具。
* 管理项目的依赖项。
* 发布自己的包到 npm 仓库。
对包的处理临时下载包,执行后通常会删除,不污染全局环境。将包安装到项目的 node_modules 目录或全局目录中。

举个例子来理解它们的区别:

  • 使用 npm: 如果我们想使用 create-react-app 来创建一个新的 React 项目,我们可能需要先全局安装它:npm install -g create-react-app,然后再执行 create-react-app my-app
  • 使用 npx: 我们可以直接运行 npx create-react-app my-appnpx 会自动下载最新版本的 create-react-app,运行它来创建项目,然后完成任务。我们不需要担心全局安装或者包的版本问题。

总结

总的来说,npx 是一个非常实用的工具,它极大地简化了 Node.js 开发者的工作流程。 它让我们能够轻松地运行各种命令行工具,而无需担心全局安装带来的版本冲突和环境污染问题。而 npm 则更侧重于项目依赖的管理和包的安装。在 npx hardhat 这个命令中,npx 让我们能够便捷地直接使用 hardhat 这个强大的以太坊开发框架所提供的各种功能。

http://www.lryc.cn/news/595894.html

相关文章:

  • 从零开始学CTF(第二十五期)
  • Gitlab-CI实现组件自动推送
  • n8n - 为技术团队提供安全的自动化工作流
  • 基于Kubernetes的微服务CI/CD:Jenkins Pipeline全流程实践
  • 知识库搭建之Meilisearch‘s 搜索引擎 测评-东方仙盟测评师
  • STL学习(一、string容器)
  • 暑假算法训练.6
  • 深入浅出Python函数:参数传递、作用域与案例详解
  • 根据数据,判断神经网络所需的最小参数量
  • 设计模式七:抽象工厂模式(Abstract Factory Pattern)
  • 【Linux内核模块】模块声明与描述
  • 【RK3576】【Android14】MIC开发调试
  • 杭州网站建设选哪家?派迪科技项目实力展示
  • Python 正则表达式在数据分析中的应用:实战指南
  • OpenCV基本的图像处理
  • AI助力临床医学科研创新与效率双提升丨临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模等
  • 深入解析 Pandas:Python 数据分析的强大工具
  • AWE2026启动:加码AI科技,双展区联动开启产业新格局
  • 小玩 Lifecycle
  • ESP32-Cam三脚架机器人:DIY你的智能移动监控平台
  • 单一职责原则(SRP):构建高质量软件的基石
  • 【接口自动化】掌握接口自动化:核心概念讲解(理论知识)
  • Java 大视界 -- Java 大数据在智能医疗医疗设备维护与管理中的应用(358)
  • 阁楼式货架:垂直空间革命下的仓储效率升级方案
  • 在线教育培训课程视频如何防下载、防盗录?
  • 企业级IIS配置手册:安全加固/负载均衡/性能优化最佳实践
  • 为什么使用扩展坞会降低显示器的最大分辨率和刷新率
  • Cloud 与 VPS 的区别:如何选择最适合你的服务器解决方案?
  • vmware vsphere esxi6.5 使用工具导出镜像
  • SecretFlow (3) --- 添加合作方并创建项目