[译] 是的,它是 npx,不是 npm

原文: Yes, it’s npx, not npm — the difference explained

最近,当我开始学习 React 的时,看到包括我在内的很多人当看到 npx 而不是 npm 时很困惑。

一些人看的了感觉很奇怪,但也没想太多。另一些人认为可能是拼写错误了,就用 npm 而不是 npx 直接运行。

当我看到这种事情发生了很多次后,我觉得值得写篇文章来说道说道。

它不是拼写错误,它是 npx,不是 npm !:)

NPM

众所周知,npm 就是 Node.js 包管理器,它的职责就是包管理和处理它们的依赖关系。

我们可以在 package.json 文件中指定项目中的所有依赖(包),这样所有人随时都能通过 npm install 命令来安装所有的依赖。

它也提供了版本控制,例如:可以为项目指定某个版本的依赖,这样可以避免因为版本升级对我们项目造成意料之外的风险。

NPX

npx 是用来 执行 Node 包的工具 并在npm5.2 版本与 npm 捆绑在一起。

npx 做了什么

  1. 默认情况下,它先去检查包是否存在(会在本地项目的 node_modules/.bin 和环境变量 $PATH寻找)
  2. 如果存在,执行它
  3. 如果不存在,则会先安装(临时)再运行

以上列出的是它的默认行为,当然可以通过参数来阻止。

例如:运行 npx some-package --no-install 就告诉 npx 只运行 some-packag 包,如果不存在也不要安装。

更多的 npx 参数在这里查看

例子

如果我们有一个包名 my-package,我们想运行它。

如果不用 npx,要运行一个包就要通过包的路径来执行。

./node_modules/bin/my-package

或者在 package.json 的 scripts 里编写脚本。

{
  "name": "something",
  "version": "1.0.0",
  "scripts": {
    "my-package": "./node_modules/bin/my-package"
  }
}

然后通过 npm run my-package 命令运行。

现在通过 npx 只需 npx my-package 命令就能轻松搞定。

结论

npx != npm


「极客阅读 」汇聚了国内外最优质的技术博客、产品动态、公众号文章。开发者可以在极客阅读一站式的阅读到来自互联网技术大咖的文章。

「极客阅读 」官网:geeker-read.com

Image placeholder
MAPLE-YI
未设置
  44人点赞

没有讨论,发表一下自己的看法吧

推荐文章
请你们不要调侃中台,它是我们赖以生存的镰刀

看本圣经,你就把自己当耶稣了?在这个世界上有两种人,一种人性情诙谐,喜欢开玩笑,另一种人万事较真,做事喜欢一板一眼。在爱开玩笑的人看来,只要不直接嘲笑对方,或不带来伤害,抓住一个热点调侃一番,甚至来点

是的,你的AI技能正在“贬值”

大数据文摘出品编译:小蒋、李可、狗小白、周素云我们正处于AI创业热潮之中,机器学习专家的薪资水平水涨船高,投资者也乐于对AI初创公司慷慨解囊。AI的普及成为推动社会生产力标志,必将改变我们的生活。但是

1px等于多少厘米?

首先要弄懂两个概念:像素(px):位图的一幅图像,是由若干个点组成的,每个点就叫做像素,.图像宽度上的点数乘以高度上的点数,就是这个图像的总像素,一幅图像点越多,图像就越大。分辨率:即图像的像素密度,

别小瞧了 Linux,安卓、华为的自研系统,均源自 Linux!

众所周知,目前国内已有众多的国产系统,基本上均源自linux,以linux为基础进行二次开发。比如红旗linux、深度等等。但不知道为什么,一说起某系统是基于linux而来,很多网友就瞧不起,并且会觉

Nginx 之父被抓:Rambler集团声称他工作时间开发了NGINX,要求全部代码所有权

俄罗斯搜索引擎Rambler.ru声称拥有NGINX代码的全部所有权。俄罗斯警方近日突击搜查了F5Networks子公司NGINX的莫斯科办事处,NGINX公司开发了互联网上最受欢迎的Web服务器

cnpm如何安装vue?

如何使用cnpm安装vue?步骤1:确保你电脑上安装了最新版本的Node.js。步骤2:安装淘宝镜像(国内使用npm速度很慢,可以使用淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm)

如何用npm下载react

如何用npm下载react●首先我们需要安装nodejs环境【Node.js安装教程】我们可以在cmd中输入node-v和npm-v来检测是否安装成功。node-v npm-v当两条命令都成功的输出了

Ubuntu常用技巧:npm下载很慢的超简单解决方法

在使用npm下载时,速度特别特别慢,等了半小时还是纹丝不动:尝试了一些方法,效果不是很明显,最终发现一种简单有效的方法:1.终端输入命令,显示当前的镜像地址:npmgetregistry2.再输入命令

爬虫管理平台Crawlab v0.4.3发布(界面上点几下就可安装pip或npm依赖)

前言Crawlab是一款受人欢迎的分布式通用爬虫管理平台,由Crawlab开发组开发和维护。自去年3月份上线以来,Crawlab因为极其强大的灵活性、简单精美的操作界面以及健壮而稳定稳定的功能表现,不

Spring Boot到底是怎么运行的,你知道吗?

导读SpringBoot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较流行的微服务框架SpringCl

团队开发中 Git 最佳实践,不给队友拖后腿

今天跟大家分享下团队开发中Git最佳实践的知识。0前言在2005年的某一天,Linux之父LinusTorvalds发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流

运通集团:护航企业安全,不为信息化而信息化

曾经有人做出过总结,现代人忙碌奔波在物质上无非为了几“子”:车子、房子和票子。房和车可以说是很多现代人生活中的刚需。也正因如此,房地产商和汽车厂商近年来如鱼得水,得以开展各种业务,而运通集团就是典型代

两万字的数据库面试题,不看绝对后悔

一、基本概念1.主键、外键、超键、候选键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超

选择企业通讯平台,不容忽视的7大安全因素

信息平台正在改变工作场景信息共享的方式,但这不应该冒着数据泄露的风险。你需要让同事检查一项任务,你最可能的交流方式是什么?打电话?写一封电子邮件吗?还是直接走向他们的办公桌?如果您与大多数企业一样,那

以梦为码,不负韶华

01有人说2019是过去十年最坏的一年也有人说2019是未来十年最好的一年不管哪种说法都注定了2019是不平凡的一年是很多人浓墨重彩的一年我也不例外我是个喜欢回望来时路的一个人在2019年的最后一天我

OceanBase数据库创始人阳振坤分享征战6088万tpmC的艰辛之路

前言:中国人民大学常被誉为是“中国人文社会科学的最高学府”,其实人民大学也是“中国数据库的发源地”。由中国人民大学教授萨师煊与王珊合作编写的《数据库系统概论》是国内第一部系统阐明数据库原理、技术和理论

从P4到P9, 在马云家写代码到双11前端PM

导读:今年的双11已经是阿里资深前端技术专家舒文来阿里的第11年,从应届生到双11前端PM,他一路升级打怪,实现了岗位上从P4到P9的晋升。这第11届双11顺利结束之际,他把在阿里这些年的成长经历做一

20200103pm

 20200103 框架 vue的dom-diff是怎么样实现的?https://mp.weixin.qq.com/s/B0... 前言 文章开篇,我们先思考一个问题,大家都说 virtual 

20200107pm

 20200107 html html中有哪些块级元素?有哪些行内元素? \- 行内元素 一个行内元素只占据它对应标签的边框所包含的空间 一般情况下,行内元素只能包含数据和其他行内元素

为什么你应当选择 PostgreSQL 而不是 Oracle?

本文转自| PostgreSQL中文社区 作者简介 Jan Karremans,EnterpriseDB的高级销售工程师。 译者简介 KevinZhan,深圳联友科技SA,目前负责公司部分核心系统应用

每天凌晨下班,你是不是觉得特别光荣?

题图: fromZoommy当年刚去东方购物报到的第一天,直属上司就提醒我:“小王,虽然公司17点30分下班,但如果你的领导没有离开,你是没有权利下班的,明白了吗?”当年,我就是个愣头青,觉得这样挺好

长城汽车张小斌:企业数字化不是选择,而是唯一的出路

长城汽车集团云计算总监张小斌20年IT行业经验。西安交通大学计算机专业毕业,中科院计算所硕士,曾在朗讯贝尔实验室、美国硅谷、HP、赛门铁克、Websense担任架构师、主任工程师、研发经理等职务,负责

和大型企业相比,小企业可能并不是安全的薄弱环节

拥有250名或更少员工的企业通常比规模较大的企业使用更高比例的安全从业人员。小型企业经常因为成为大型企业供应链攻击的门户而声名狼藉。但从一份关于小型企业安全的报告中可以看出,情况可能并非如此。作为(I

打破边界 不是所有“内存与存储”都叫傲腾

人类正在向一个万物感知、万物互联、万物智能的世界进化。一方面海量的数据对数据基础设施带来了新的挑战;另一方面伴随着数据中心业务和应用的多样化以及智能化,企业对数据存储的需求越来越高。智能世界的特点是能

PHP 到底是不是宇宙第一?TIOBE 排行榜来证明!

做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。我们总听说某个编程语言排名第一,那么这些数据到底准不准确呢?1P