npx和npm有什么区别,包管理器yarn的使用方法,node的版本管理工具nvm使用方法

2024-01-12 09:44

本文主要是介绍npx和npm有什么区别,包管理器yarn的使用方法,node的版本管理工具nvm使用方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 一、npx介绍及使用
        • 1、npx 是什么
        • 2、npx 会把远端的包下载到本地吗?
        • 3、npx 执行完成之后, 下载的包是否会被删除?
        • 4、npx和npm的区别
      • 二、yarn介绍及使用
        • 1、Yarn是什么?
        • 2、Yarn的常见场景:
        • 3、Yarn常用命令
      • 三、nvm介绍及使用
        • 1、nvm是什么?
        • 2、nvm的安装
        • 3、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

这篇关于npx和npm有什么区别,包管理器yarn的使用方法,node的版本管理工具nvm使用方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597469

相关文章

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a