首页 > 其他分享 >npx和npm傻傻分不清?

npx和npm傻傻分不清?

时间:2023-07-07 19:22:54浏览次数:44  
标签:npm package 傻傻 npx 软件包 执行 my

最近,小芯发现很多人开始学习React时,都会普遍感到困惑,大家常常看见的是npx 而非众所周知的npm。

一些人觉得它很奇怪,但没有多想,其他人则认为这是一个错字,甚至错误地要通过运行npm而非npx来“修复”。

当某件事不止一次发生时,就值得我们仔细揣摩,问题究竟出在哪里?

为此,小芯整理出来本文给所有怀有同样误解的小伙伴:

不是错字,是npx,不是npm! :)

NPM

众所周知,npm是Node.js的软件包管理器,其目标是自动化的依赖性和软件包管理。

这意味着,可以在package.json文件中为项目指定所有依赖项(软件包),当需要为其安装依赖项时,只要运行npm install,这样就好啦!

它还提供了版本控制,即可以指定项目的依赖版本,这样可以在大多数情况下,防止更新破坏项目,或者使用首选版本。

NPX

另一方面,npx是执行Node软件包的工具,它从 npm5.2版本开始,就与npm捆绑在一起。

npx的作用如下:

1.默认情况下,首先检查路径中是否存在要执行的包(即在项目中);2.如果存在,它将执行;3.若不存在,意味着尚未安装该软件包,npx将安装其最新版本,然后执行它;

上文已说明,此行为是npx的默认行为之一,但它具有可用来阻止的标志。

例如,如果运行npx some-package --no-install,意味着告诉npx ,它应该仅执行。

some-package,如果之前未安装,则不安装。

示例

假设有一个名为my-package的软件包,想要执行它。

好吧,若没有npx,要执行一个软件包,必须通过其本地路径运行来完成,如下所示:

./node_modules/bin/my-package

或在 package.json文件的 scripts section中将其定义为单独的脚本,如下所示:

{

"name":"something",

"version": "1.0.0",

"scripts": {

"my-package":"./node_modules/bin/my-package"

}

}

然后使用npm run my-package运行。

现在,运用npx,只需运行npx my-package.,即可轻松实现此目的。

 转载自:npx和npm傻傻分不清?一文为你解惑(https://baijiahao.baidu.com/s?id=1654960283811569273&wfr=spider&for=pc)  

标签:npm,package,傻傻,npx,软件包,执行,my
From: https://www.cnblogs.com/sherlock-Ace/p/17535889.html

相关文章

  • mac执行npm或yarn命令时报Error: EACCES: permission denied,
    npm下载的时候会告知权限没有这是由于之前使用了sudo去下载一些东西,导致文件拥有者都变成了root,只需要修改权限即可。Error:EACCES:permissiondenied,symlink‘…/lib/node_modules/json-server/lib/cli/bin.js’->‘/usr/local/bin/json-server’解决方法:找到......
  • CPython, Pypy, MicroPython...还在傻傻分不清楚?
    哈喽大家好,我是咸鱼当我们说Python时,通常指的是官方实现的CPython但还有很多比如Pypy、Jython、MicroPython、Brython、RustPython等“python”许多小伙伴看到这些带“python”的概念可能一头雾水,心想这跟我平时接触到的python有什么区别吗?这些到底是什么那么今天这......
  • npm和npx,npm init 包名的理解
    NPM - 管理Node包的工具NPX -执行Node包的工具npm5.2+支持NPXNPM本身实际上不能运行任何包,如果你想去执行某个包,必须在package.json文件中去定义。当通过NPM安装Node包,NPM会在node_modules下的.bin里创建一个软连接。本地安装链接会放到./node_modules/.bin目录全局安装......
  • 在Vscode使用命令npm报错-The operation was rejected by your operating system. npm
    报错信息:PSD:\disk\xubo\个人博客文章\27-Vue\资料(含课件)\vuedemo\vueproject>npmipubsub-jsnpmERR!codeEPERMnpmERR!syscallopennpmERR!pathD:\disk\soft\node.js\node_cache_cacache\index-v5\1d\32\0400202fc22af03ff2926f006e455fe92c77b8136b8fbe......
  • Vue封装组件并发布到npm仓库
    前言使用Vue框架进行开发,组件封装是一个很常规的操作。一个封装好的组件可以在项目的任意地方使用,甚至我们可以直接从npm仓库下载别人封装好的组件来进行使用,比如iview、element-ui这一类的组件库。但是每个公司的业务场景可能不同,开发人员还是得必须封装自己得组件,如果换了一个......
  • node npm
    一、nvm、npm、node介绍1.区别nvm:nodejs的版本管理工具,也就是说:一个nvm可以管理很多node版本和npm版本。nodejs:在项目开发时的所需要的代码库。npm:nodejs包管理工具,在安装的nodejs的时候,npm也会跟着一起安装,它是包管理工具,npm管理nodejs中的第三方插件。安装的时候......
  • 旧项目迁移至pnpm
    1.新建.pnpm文件:##shamefully-hoist是否提升依赖#默认情况下,pnpm创建一个半严格的node_modules,这意味着依赖项可以访问未声明的依赖项,但node_modules之外的模块不行。通过这种布局,生态系统中的大多数的包都可以正常工作。但是,如果某些工具仅在提升的依赖项位于根目......
  • npm install报gyp ERR! stack Error: Can't find Python executable "python", you ca
    1gypERR!stackError:Can'tfindPythonexecutable"python",youcansetthePYTHONenvvariable.2gypERR!stackatPythonFinder.failNoPython(/Users/scott/project/dx_project/front_project/workflow-frontend-elem/node_modules/node-......
  • 执行npm i 时安装失败
    在使用:npmi[包名]安装包时出现如下错误: npmERR!codeENOTEMPTYnpmERR!syscallrename......npmERR!errno-66ENOTEMPTY:directorynotempty,rename'/Users/johnny/Documents/work/next_js/your_project/node_modules/pdf2json'->'/Users/johnny/Doc......
  • npm安装淘宝镜像cnpm报错:npm ERR! Windows_NT 10.0.19045
    ☺1、最终解决方法:镜像不需要下载,配置即可#设置代理为cnpmnpmconfigsetregistryhttps://registry.npm.taobao.org压根就不需要执行下载cnpm命令:npminstall-gcnpm--registry=https://registry.npm.taobao.org2、关于npm安装淘宝镜像的报错情况:和node版本有关......