npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: npx与npm的差异解析,以及包管理器yarn与Node版本管理工具nvm的使用方法详解

一、npx介绍及使用

平时安装node模块的时候,经常使用的命令是npm。其实还有另外一个命令,叫做npx。网上的说法都是:npx是npm命令的升级版本,功能非常强大。

1、npx 是什么

npx是一个由Node.js官方提供的用于快速执行npm包中的可执行文件的工具。它可以帮助我们在不全局安装某些包的情况下,直接运行该包提供的命令行工具。npx会在执行时,检查本地项目中是否安装了对应的依赖,如果没有安装则会自动下载安装,并执行命令。如果本地已经存在该依赖,则直接执行命令。


使用npx时,可以在命令行中输入要执行的包名加上其参数,例如:

用npx创建vue项目

npx @vue/cli create your-project-name

用npx创建react项目

npx create-react-app your-project-name

2、npx 会把远端的包下载到本地吗?

npx 不会像 npm 或 yarn 一样将包下载到本地的 node_modules 目录中。相反,它会在执行命令时,在本地缓存中寻找并下载包,然后执行该包中的命令。这样可以避免在开发过程中在全局安装大量的包,同时也可以确保使用的是最新版本的包。

3、npx 执行完成之后, 下载的包是否会被删除?

是的,npx会在执行完命令后删除下载的包。这是因为npx会在执行命令之前,将需要执行的包下载到一个临时目录中,并在执行完毕后删除该目录。这样可以避免在本地留下不必要的依赖包。如果需要保留依赖包,可以使用–no-cleanup选项来禁止删除下载的包。


4、npx和npm的区别

npx侧重于执行命令的,执行某个模块命令。虽然会自动安装模块,但是重在执行某个命令。


npm侧重于安装或者卸载某个模块的。重在安装,并不具备执行某个模块的功能。


二、yarn介绍及使用

1、Yarn是什么?

Yarn是一个流行的JavaScript包管理器,它提供了方便的方式来安装、管理、更新和删除JavaScript库和框架。Yarn可以与npm(Node Package Manager)互操作,并且具有更高的性能和更可靠的网络连接。

2、Yarn的常见场景:
  • 安装依赖:使用Yarn可以轻松地安装项目所需的JavaScript库和框架。通过运行yarn install命令,Yarn会读取项目中的package.json文件,并安装所有列出的依赖项。
  • 版本控制:Yarn支持版本控制,可以轻松地管理依赖项的版本。通过运行yarn upgrade命令,可以更新所有依赖项到最新版本。而通过yarn downgrade命令,可以将特定依赖项降级到以前的版本。
  • 发布包:Yarn也允许你发布自己的JavaScript包到npm仓库。通过运行yarn publish命令,可以准备一个npm包并将其发布到npm仓库。
  • 链接依赖:Yarn支持链接依赖项,允许开发人员在不同项目之间共享依赖项。通过运行yarn link命令,可以将一个项目的依赖项链接到另一个项目。
  • 脚本执行:Yarn允许在项目中使用自定义脚本。通过在package.json文件中定义脚本命令,可以轻松地执行自定义脚本,例如运行测试、构建应用程序或启动开发服务器等。

总之,Yarn是一个功能强大的工具,可以帮助开发人员更有效地管理JavaScript项目中的依赖项和脚本。

3、Yarn常用命令

安装yarn命令:

npm install -g yarn

查看版本号

yarn version

初始化项目

yarn init

查看全部配置项

yarn config list

显示某配置项

yarn config get <key>

删除某配置项

yarn config delete <key>

设置配置项

yarn config set <key> <value> [-g|--global]

安装包命令,该命令会根据packge.json文件安装依赖包,生成node_modules文件夹。

yarn install xxx

强制重新下载所有包

yarn install --force

添加包,该命令会自动更新package.json和yarn.lock

yarn add [package]

删除包,该命令会自动更新package.json和yarn.lock

yarn remove <packageName>

发布包

yarn publish

查看缓存

yarn cache

运行脚本,该命令执行在 package.json 中 scripts 属性下定义的脚本。

yarn run

打包,该命令将源码编译成dist目录下发行文件。

yarn build


三、nvm介绍及使用

1、nvm是什么?

nvm是一个node的版本管理工具,可以简单操作node版本的切换、安装、查看等等,与npm不同的是,npm是依赖包的管理工具。

2、nvm的安装

1.下载

2.安装

安装后的目录:C:\Users\admin\AppData\Roaming\nvm

3、nvm的使用

1.看安装的所有node.js的版本

nvm ls

2.查显示可以安装的所有node.js的版本

nvm list available

4.安装所对应的版本。

nvm install 版本号 

// 例如:nvm install 16.20.1

5.// 切换到使用指定的nodejs版本

nvm use 版本号

6.检测是否切换完成,新开一个cmd

node -v

8、删除已安装node

nvm uninstall 版本  

// 例如:nvm uninstall 14.19.0
目录
相关文章
|
2月前
|
缓存 JavaScript 前端开发
Vue3与Vue2生命周期对比:新特性解析与差异探讨
Vue3与Vue2生命周期对比:新特性解析与差异探讨
110 2
|
19天前
|
存储 关系型数据库 MySQL
MySQL 字段类型深度解析:VARCHAR(50) 与 VARCHAR(500) 的差异
在MySQL数据库中,`VARCHAR`类型是一种非常灵活的字符串存储类型,它允许存储可变长度的字符串。然而,`VARCHAR(50)`和`VARCHAR(500)`之间的差异不仅仅是长度的不同,它们在存储效率、性能和使用场景上也有所不同。本文将深入探讨这两种字段类型的区别及其对数据库设计的影响。
35 2
|
2月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
74 2
|
2月前
|
供应链 网络协议 数据安全/隐私保护
|
3月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
2月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
2月前
|
缓存 JavaScript Oracle
Node.js版本管理工具之NVM
Node.js版本管理工具之NVM
|
3月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
32 2
|
2月前
|
Web App开发 JavaScript 前端开发
JavaWeb 22.Node.js_简介和安装
JavaWeb 22.Node.js_简介和安装

推荐镜像

更多