npm和npx的区别(附实例)

183 阅读2分钟

在Nodejs中,我们有两个命令来管理和运行库

  • npm:Node软件包管理器
  • npx:Node包的可执行运行器

以上两个命令都是默认安装的nodejs。

什么是npm?

npm是一个简单的命令行工具,用于管理(安装、卸载)Nodejs中的node javascript包。

用它来运行和执行已安装的包并不容易。

什么是npx?

npx是一个命令行工具,可以在本地运行软件包,而无需安装软件包。

npm和npx的区别

例如,我们需要创建一个全新的 react 应用。为此,我们必须使用create-react-app cli。

让我们用npm来创建一个应用程序。

首先,使用npm命令安装create-react-app。

我们可以在本地(不带-g)或全局(-g选项)安装。

npm install create-react-app -g

它将 create-react-app 从远程 repo 安装到本地开发者机器上。 全局安装过程

  • 使用-g选项进行全局安装
  • 它在全局npm目录下创建一个node_modules文件夹--Linux下为/usr/local/文件夹,windows下为%AppData%/npm
  • 同时,为全局npm目录下的bin 文件夹创建链接。

本地安装过程

  • 在本地不使用-g 选项
  • 它在应用程序目录下创建一个node_modules文件夹。
  • 同时,在application/node_modules/.bin文件夹中创建bin 文件夹的链接。
  • 这个路径是可用的,安装的软件包命令可以从应用程序文件夹中访问。

一旦,create-react-app被安装,它就会创建一个链接,并且create-react-app命令在全球范围内工作。

运行下面的命令来创建一个react应用程序

它创建了一个脚手架式的react应用app1,包含所有需要的文件和脚本,也安装了依赖关系。

让我们用npx创建一个react应用。

npx create-react-app my-app

通过一个命令,它做了以下事情

  • 它从npm资源库中安装create-react-app
  • 将软件包的可执行文件复制到本地路径
  • 带着所有需要的参数直接运行该命令

这两种方法(npm、npx)都可以用来使用create-react-app创建一个react应用。

create-react-app是一个创建react应用的一次性过程,它不需要全局安装,所以npx避免了为命令行执行而下载到本地。

因此,选择npx而不是npm工具总是一个好主意。