包管理工具npm、cnpm、yarn、NVM

news2024/9/23 1:32:03

[包]英文单词是package,代表了一组特定功能的源码集合
包管理工具:
管理[包]的应用软件,可以对[包]进行下载安装,更新,删除,上传等操作借助包管理工具,可以快速开发项目,提升开发效率
包管理工具是一个通用的概念,很多编程语言都有包管理工具,所以掌握好包管理工具非常重要
前端常用的包管理工具npm 、yarn、cnpm

npm

在这里插入图片描述

npm基本使用

创建一个空目录,然后以此目录作为工作目录启动命令行工具,执行npm init
在这里插入图片描述

1.npm init命令的作用是将文件夹初始化为一个[包],交互式创建package.json文件
2.package.json是包的配置文件,每个包都必须要有package.json
3.package.json内容示例:
在这里插入图片描述

npm搜索包

在这里插入图片描述
创建一个包名字为A,A中安装了包的名字是B,就说B是A的一个依赖包,也会说A依赖于B

require导入npm包基本流程
require(‘uniq’)
1.在当前文件夹下node_modules中寻找同名的文件夹
2.如果1不行,在上级目录中下的node_modules中寻找同名的文件夹,直至找到磁盘根目录

生产环境与开发环境

1.开发环境是程序员专门用来写代码的环境,一般是指程序员的电脑,开发环境的项目一般只能程序员自己访问
2.生产环境是项目代码正式运行的环境,一般是指正式的服务器电脑,生产环境的项目一般每个客户都可以访问

开发依赖与生产依赖

在这里插入图片描述

全局安装

命令行窗口输入:npm i -g nodemon
全局安装完成之后就可以在命令行的任何位置运行;nodemon命令该命令的作用是自动重启node 应用程序

  • 全局安装的命令不受工作目录位置影响
  • 可以通过npm root -g可以查看全局安装包的位置
  • 不是所有的包都适合全局安装,只有全局类的工具才适合,可以通过查看包的官方文档来确定安装方式,
    在这里插入图片描述

环境变量Path

Path是操作系统的一个环境变量,可以设置一些文件夹的路径,在当前工作目录下找不到可执行文件时,就会在环境变量Path的目录中挨个的查找,如果找到则执行,如果没有找到就会报错
在这里插入图片描述
补充说明:

  • 如果希望某个程序在任何工作目录下都能正常运行,就应该将该程序的所在目录配置到环境变量Path中
  • windows 下查找命令的所在位置
    cmd 命令行中执行where nodemon
    powershell命令行执行get-command nodemon

安装包依赖

在项目协作中有一个常用的命令就是npm i,通过该命令可以依据package.json和package-lock.json 的依赖声明安装项目依赖
npm i (npm install全写)

node_modules文件夹大多数情况都不会存入版本库

安装指定版本的包、删除依赖

在这里插入图片描述

配置命令别名

配置命令别名可以更简单的执行命令

配置package.json中的scripts属性:

{
.
.
.
"scripts":{
"server":"node server.js",
"start":"node index.js",
 },
 .
 .
}

配置完成之后,可以使用别名执行命令

npm run server
npm run start /start别名比较特别,使用时可以省略run

补充说明:

  • npm start是项目中常用的一个命冷,一般用来启动项目
  • npm run有自动向上级目录查找的特性,跟require 函数也一样
  • 对于陌生的项目,我们可以通过查看scripts属性来参考项目的一些操作

cnpm

cnpm 是一个淘宝构建的 npmjs.com 的完整镜像,也称为『淘宝镜像』,网址https://npmmirror.com/
cnpm 服务部署在国内 阿里云服务器上 , 可以提高包的下载速度
官方也提供了一个全局工具包 cnpm ,操作命令与 npm 大体相同

安装

通过npm安装cnpm:在命令行窗口输入

npm install -g cnpm --registry=https://registry.npmmirror.com

操作命令:

在这里插入图片描述

配置

1.直接配置
2.工具配置
在这里插入图片描述

  • nrm报错解决办法:
解决:  npm install -g nrm open@8.4.2 –save
  • 切换镜像:命令行窗口输入 nrm ls会列出支持的镜像地址,输入nrm use npm

补充说明:

  1. 建议使用第二种方式 进行镜像配置,因为后续修改起来会比较方便
  2. 虽然 cnpm 可以提高速度,但是 npm 也可以通过淘宝镜像进行加速,所以 npm 的使用率还是高于 cnpm
  3. 使用淘宝的没法上传,因为淘宝的是只读镜像,只能下载不能上传

yarn

npm是同步的、yarn是异步的
在这里插入图片描述

yarn安装及常用命令

可以使用npm安装yarn:npm i -g yarn
常用命令:
在这里插入图片描述
这里有个小问题就是 全局安装的包不可用(没有配置到环境变量path中) ,yarn 全局安装包的位置可以通过 yarn global bin来查看,

yarn 配置淘宝镜像

可以通过如下命令配置淘宝镜像:

yarn config set registry https://registry.npmmirror.com/

可以通过 yarn config list 查看 yarn 的配置项

NVM

nvm 全称 Node Version Manager 顾名思义它是用来管理 node 版本的工具,方便切换不同版本的Node.js

使用

nvm 的使用非常简单,跟 npm 的使用方法类似
下载安装:
首先先下载 nvm,下载地址

https://github.com/coreybutler/nvm-windows/releases

选择 nvm-setup.exe 下载即可

常用命令

在这里插入图片描述

扩展内容

npm和yarn的选择

可以根据不同的场景进行选择

  1. 个人项目
    如果是个人项目, 哪个工具都可以 ,可以根据自己的喜好来选择
  2. 公司项目
    如果是公司要根据项目代码来选择,可以通过锁文件判断 项目的包管理工具
    npm 的锁文件为 package-lock.json
    yarn 的锁文件为 yarn.lock
  3. 包管理工具尽量不要混着用

npm发布包、更新包和删除包(了解)

扩展内容

很多语言中都有包管理工具
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1645462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

供应链|经典论文解读:(s,S) 策略在动态库存下的最优性

文章考虑了具有订购成本(由单位成本加上重新订购成本组成)的动态库存问题。具体而言,对于每个时期,系统在中期开始是做出一系列采购决策——这些采购有助于库存的积累,并在随后的周期被需求所消耗。每时期系统会产生各…

开源15T tokens!HuggingFace放出规模最大、质量最高预训练数据集 | 最新快讯

新智元报道 编辑:LRS FineWeb 是一个高质量的预训练数据集,包含 15T 个 tokens,主要包含英语文本;消融实验证明了 FineWeb 数据集的质量要高于其他开源数据集;数据清洗脚本也已开源。 Meta 最近开源的 Llama 3 模型再次…

如何根据IP获取国家省份城市名称PHP免费版

最近项目遇到需要根据IP获取用户国家功能需求,网上找了一下,很多API接口都需要付费,考虑为公司节约成本,就取找找有没有开源的 github 上面那个包含多种语言,下面这个只有php,用法很简单 $ip 114.114.114…

QT7_视频知识点笔记_1_ 基础知识(帮助文档),窗口(内存回收机制),信号槽(传参),Lambda表达式

1.QT基础 QT是一个框架,不用像C语言自己从底层写,需要的功能可以先看是否QT库中有直接可使用的 帮助文档的使用:F1跳入帮助文档, QT中常用的类:比如QPushbutton,查看帮助文档则可知道对应的函数和解决方…

C语言知识点补充——操作符详解

1、计算幂次数和平方根 使用<math.h>数学库 pow()函数计算幂次数&#xff1b;sqrt()函数计算平方根。 注&#xff1a;sqrt()输入同样的数字&#xff0c;计算出来的数值&#xff0c;可能不相等&#xff0c;因为输出double数&#xff0c;小数点后面的数值不一定一致。 2…

制作外贸脚本的流程和代码分享!

在全球化的今天&#xff0c;外贸业务成为了许多企业拓展市场、增加收入的重要途径&#xff0c;而在外贸业务中&#xff0c;一个优秀的脚本往往能够起到事半功倍的效果。 那么&#xff0c;如何制作一个高效、专业的外贸脚本呢?本文将为您详细解析制作外贸脚本的流程&#xff0…

力扣每日一题-拆炸弹-2024.5.5

力扣题目&#xff1a;拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理&#xff0c;而k不等于0时&#xff0c;需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口&#xff0c;然后移动&#xff0c;获…

Windows中安装的PostgreSQL 数据库如何重启

1. 使用Windows服务管理器 打开“运行”对话框&#xff08;按WinR键&#xff09;。输入services.msc并按回车&#xff0c;这将打开服务列表。在服务列表中找到PostgreSQL服务。它通常命名为“PostgreSQL”后面跟着版本号和实例名称&#xff0c;例如“PostgreSQL 13 - mydb”。…

MES生产系统与数字孪生双重结合:智慧制造工厂的新引擎

随着数字化浪潮的推动&#xff0c;制造行业正在经历着前所未有的变革。在这个变革的浪潮中&#xff0c;MES生产制造系统与数字孪生技术的深度融合成为了制造工厂未来发展的核心驱动力。这种结合不仅提升了生产效率&#xff0c;优化了资源配置&#xff0c;降低了运营成本&#x…

解决mac出现npm install 卡在“sill idealTree buildDeps“的问题

问题出现场景&#xff1a; 在新建一个项目尝试npm install命令时&#xff0c;一直卡在“sill idealTree buildDeps“ 尝试过的无效解决方案包括&#xff1a; 切换/关闭梯子重启更换网络更换npm源更新删除 package.json 最终解决方案&#xff1a; 引起问题的原因是MacOS设置中…

年轻人刮疯了,刮刮乐断货了

年轻人刮疯了 刮刮乐缺货了。 00后彩票店老板陆诗等得有点着急。她的福彩店开在深圳&#xff0c;今年4月才开门营业&#xff0c;但从开业到今天&#xff0c;刮刮乐总共就来了一回货——开业时发的20本。 那之后&#xff0c;刮刮乐就彻底断供了。原本&#xff0c;陆诗想把刮刮…

重学SpringBoot3-SPI机制

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-SPI机制 什么是 SPI&#xff1f;Spring Boot 中的 SPI 机制spring.factories 文件自动配置的实现启动流程中的作用 SPI实际应用步骤 1: 新建模块步骤 2:…

【1小时掌握速通深度学习面试6】图神经网络-下

目录 23. GraphSage 24.简述图神经网络的推理机制在其他领域中的应用 与传统NN的区别&#xff08;GNN优点&#xff09; 23. GraphSage GraphSage出现之前的图网络方法需要图中所有的顶点在训练embedding的时候都出现&#xff0c;这些的方法本质上是transductive&#xff0c…

我独自升级:崛起怎么下载 我独自升级游戏下载教程分享

定于5月8日全球揭幕的《我独自升级崛起》——一款扣人心弦的动作RPG巨制&#xff0c;灵感采撷于同名动画及网络漫画的热潮&#xff0c;誓将引领满怀热忱的玩家步入一场交织着深邃探索和宏大规模的奇妙冒险。该游戏立足于一个独树一帜的网络武侠宇宙&#xff0c;细腻刻画了一个凡…

基于Springboot的民航网上订票系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的民航网上订票系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

【Osek网络管理测试】[TG3_TC1]Limphome复位_NM报文

&#x1f64b;‍♂️ 【Osek网络管理测试】系列&#x1f481;‍♂️点击跳转 文章目录 1.环境搭建2.测试目的3.测试步骤4.预期结果5.测试结果 1.环境搭建 硬件&#xff1a;VN1630 软件&#xff1a;CANoe 2.测试目的 验证DUT从LimpHome状态转换到Reset状态是否满足NM标准的…

【电商-虾皮】

电商-虾皮 ■ 人口分布■ 市场■ 欧美市场■ 东南亚市场 ■ ■ 人口分布 ■ 市场 ■ 欧美市场 亚马逊 ■ 东南亚市场 shopee ■

推荐网站(4)以图片找动漫,二次元福利!!!

有的时候只有图片不知道&#xff0c;这是什么动漫&#xff0c;在多少集出现过那么&#xff0c;这个网站觉得是你的福音 我们去b站随便找一个动漫试试看&#xff0c;截图保存 然后进入网站&#xff0c;点击文件按钮上传照片 可以看到精准搜出来了动漫&#xff0c;更为重要的是连…

深入理解回溯算法

大家好&#xff0c;我是 方圆&#xff0c;本篇我们来讲回溯。回溯相当于穷举搜索&#xff0c;它会尝试各种可能的情况直到找到一个满足约束条件的解&#xff0c;寻找解的手段一般通过 DFS 实现&#xff0c;是一个 增量构造答案 的过程。回溯法适用于解决能够将原问题拆分成子问…

ABAP开发(5)字符串操作

文章目录 1、CONCATENATE2、SPLIT3、SEARCH4、REPLACE 1、CONCATENATE 使用关键字CONCATENATE可以将多个字符串进行连接&#xff0c;也可以在连接的过程中添加分隔符。 2、SPLIT 3、SEARCH 4、REPLACE