百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

一文搞定nodeJS相关的nvm、npm、nrm、yarn、npx等

ztj100 2024-11-17 18:13 21 浏览 0 评论

node、npm等相关概念

node 和 npm 相关的名词很多,比较容易混淆。

下面对这些名词做个统一梳理

  • node:一个基于 Chrome V8 引擎的 JavaScript 运行时;提供了 JavaScript 的运行环境。可以直接到 node 官网下载安装
  • nvm:node.js 版本管理工具;不同项目可能需要不同版本的 node;可以使用 nvm 来管理 node.js 版本
  • npm:node.js 包管理工具;用来管理 node.js 中的第三方插件;新版本的 node 在安装的时候,会自动安装对应版本的 npm
  • nrm:npm 源的管理工具,可以用来方便的切换 npm 源
  • cnpm:使用的是淘宝的源。用法跟 npm 完全一致。cnpm 经常会有问题,所以在很多地方不推荐使用
  • yarn:经过重新设计的崭新的 npm 客户端;运行速度显著提升,整个安装时间比 npm 少。一般推荐使用 yarn 代替 npm
  • npx:一个 npm 包执行器。我们可以使用 npx 来执行各种命令。

使用 nvm 管理 node.js 版本

参考:使用 nvm 管理 node.js 版本

npm

参考:npm常用命令操作

使用nrm管理npm源

当使用官方 npm 源安装各种包比较慢的时候,建议修改 npm 源地址

npm 相关参考:npm常用命令操作

推荐使用 nrm 管理 npm 源

nrm 是专门用来管理和快速切换私人配置的 registry

推荐全局安装

npm install nrm -g

常用命令

  • nrm ls :查看默认配置,带 * 号即为当前使用的配置
  • nrm current :查看当前使用的是哪个源
  • nrm use [源的别名] :切换到某个源
  • nrm add [源的别名] [源的地址] :添加私有源。eg: nrm add qihoo http://registry.npm.360.org
  • nrm test [源的别名] :测试某个源
  • nrm del [源的别名] :删除某个源

cnpm

npm 安装插件是从国外服务器下载,受网络影响大,可能出现异常。

淘宝团队复制了一个完成的 npmjs.org 镜像,用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。即: cnpm

cnpm 跟 npm 用法完全一致,只是在执行命令时将 npm 改为 cnpm

推荐全局安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成后,可以使用命令 cnpm -v 检查是否安装成功。

如果能正常显示版本号,表示已安装成功。如果显示 不是内部或者外部命令 ,则需要手动将安装目录添加到系统变量中

yarn

yarn 是经过重新设计的崭新的 npm 客户端;运行速度显著提升,整个安装时间比 npm 少

像 npm 一样, yarn 使用本地缓存。与 npm 不同的是, yarn 无需互联网连接就能安装本地缓存的依赖项,它提供了离线模式。这个功能在2012年的 npm 项目中就被提出来过,但一直没有实现。

一般推荐使用 yarn 代替 npm

运行以下命令即可安装 yarn

npm install yarn -g

yarn 和 npm 命令对比如下

npm

yarn

描述

npm init

yarn init

初始化项目

npm install

yarn

yarn install

安装依赖

npm install xxx

npm install xxx --save

npm install xxx -S

yarn add xxx

安装某依赖,

写入dependencies

npm install xxx --save-dev

npm install xxx -D

yarn add xxx --dev

yarn add xxx -D

安装某依赖,

写入devDependencies

npm install xxx -g

yarn global add xxx

全局安装某依赖

npm update xxx

yarn upgrade xxx

更新某依赖

npm uninstall xxx

yarn remove xxx

删除某依赖

npm cache clean

yarn cache clean

清除全局缓存依赖包

npm run dev

yarn dev

yarn run dev

执行 dev 命令

npx

npx 是 npm v5.2.0 引入的一条命令( npx ),是一个 npm 包执行器。我们可以使用 npx 来执行各种命令。

主要有以下特点:

  • 临时安装可执行依赖包,不用全局安装,不用担心长期的污染。
  • 可以执行依赖包中的命令,安装完成自动运行。
  • 自动加载 node_modules 中依赖包,不用指定 $PATH
  • 可以指定 node 版本、命令的版本,解决了不同项目使用不同

npx 执行流程如下:

  • node_modules/.bin 路径检查对应的命令是否存在,找到之后执行;
  • 没有找到,就去环境变量 $PATH 里面,检查对应命令是否存在,找到之后执行;
  • 还是没有找到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。

安装过程很简单,直接运行以下命令即可

npm install npx -g

npx 使用场景

  • 执行本地命令

比如项目下安装了 mocha ,可以直接用 npx 执行

npx mocha --version
  • 一次性执行命令

比如以下命令,npx 将 create-react-app 下载到一个临时目录,使用以后再删除

不用全局安装 create-react-app ,运行后不会污染全局环境

npx create-react-app myApp
  • 切换 node 版本

要运行的命令不兼容当前的 node 版本时,可使用 npx 切换版

npx 的 -p 选项指定要安装的包,并将其添加到正在运行的 $PATH 中

npx node@12 -v
  • 开启静态服务器

使用 http-server 或者 serve 开启静态服务器。方便本地预览打包后的项目

npx http-server           # 默认返回根目录下index.html

npx http-server -p 3000   # 也可以直接指定端口

相关推荐

WPS 隐藏黑科技!OCT2HEX 函数用法全攻略,数据转换不再愁

WPS隐藏黑科技!OCT2HEX函数用法全攻略,数据转换不再愁在WPS表格的强大函数库中,OCT2HEX函数堪称数据进制转换的“魔法钥匙”。无论是程序员处理代码数据,还是工程师进行电路设计...

WPS 表格隐藏神器!LEFTB 函数让文本处理更高效

WPS表格隐藏神器!LEFTB函数让文本处理更高效在职场办公和日常数据处理中,WPS表格堪称我们的得力助手,而其中丰富多样的函数更是提升效率的关键。今天,要为大家介绍一个“宝藏函数”——LEF...

Java lombok 使用教程(lombok.jar idea)

简介Lombok是...

PART 48: 万能结果自定义,SWITCH函数!

公式解析SWITCH:根据值列表计算表达式并返回与第一个匹配值对应的结果。如果没有匹配项,则返回可选默认值用法解析1:评级=SWITCH(TRUE,C2>=90,"优秀",C2...

Excel 必备if函数使用方法详解(excel表if函数使用)

excel表格if函数使用方法介绍打开Excel,在想输出数据的单元格点击工具栏上的“公式”--“插入函数”--“IF”,然后点击确定。...

Jetty使用场景(jetty入门)

Jetty作为一款高性能、轻量级的嵌入式Web服务器和Servlet容器,其核心优势在于模块化设计、快速启动、低资源消耗...

【Java教程】基础语法到高级特性(java语言高级特性)

Java作为一门面向对象的编程语言,拥有清晰规范的语法体系。本文将系统性地介绍Java的核心语法特性,帮助开发者全面掌握Java编程基础。...

WPS里这个EVEN 函数,90%的人都没用过!

一、开篇引入在日常工作中,我们常常会与各种数据打交道。比如,在统计员工绩效时,需要对绩效分数进行一系列处理;在计算销售数据时,可能要对销售额进行特定的运算。这些看似简单的数据处理任务,实则隐藏着许多技...

64 AI助力Excel,查函数查用法简单方便

在excel表格当中接入ai之后会是一种什么样的使用体验?今天就跟大家一起来分享一下小程序商店的下一步重大的版本更新。下一个版本将会加入ai功能,接下来会跟大家演示一下基础的用法。ai功能规划的是有三...

python入门到脱坑 函数—函数的调用

Python函数调用详解函数调用是Python编程中最基础也是最重要的操作之一。下面我将详细介绍Python中函数调用的各种方式和注意事项。...

Excel自定义函数:满足特定需求的灵活工具

...

从简到繁,一文说清vlookup函数的常见用法

VLOOKUP函数是Excel中常用的查找与引用函数,用于在表格中按列查找数据。本文将从简单到复杂,逐步讲解VLOOKUP的用法、语法、应用场景及注意事项。一、VLOOKUP基础:快速入门1.什么是...

Java新特性:Lambda表达式(java lambda表达式的3种简写方式)

1、Lambda表达式概述1.1、Lambda表达式的简介Lambda表达式(Lambdaexpression),也可称为闭包(Closure),是Java(SE)8中一个重要的新特性。Lam...

WPS 冷门却超实用!ODD 函数用法大揭秘,轻松解决数据处理难题

WPS冷门却超实用!ODD函数用法大揭秘,轻松解决数据处理难题在WPS表格庞大的函数家族里,有一些函数虽然不像SUM、VLOOKUP那样广为人知,却在特定场景下能发挥出令人惊叹的作用,OD...

Python 函数式编程的 8 大核心技巧,不允许你还不会

函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:...

取消回复欢迎 发表评论: