码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 包管理工具--》其他包管理器之cnpm、pnpm、nvm


    包管理工具系列文章目录

    一、包管理工具--》npm的配置及使用(一)

    二、包管理工具--》npm的配置及使用(二)

     三、包管理工具--》发布一个自己的npm包

    四、包管理工具--》yarn的配置及使用

    五、包管理工具--》其他包管理器之cnpm、pnpm、nvm

    目录

    🌟cnpm

    🌟pnpm

    安装和使用

    pnpm原理

    注意事项

    🌟nvm

    下载和安装

    使用nvm

    🌟 写在最后 


    🌟cnpm

    官网地址:https://npm.taobao.org/

    为解决国内用户连接npm registry缓慢的问题,淘宝搭建了自己的registry,即淘宝npm镜像源

    过去,npm没有提供修改registry的功能,因此,淘宝提供了一个CLI工具即cnpm,它支持除了npm publish以外的所有命令,只不过连接的是淘宝镜像源

    如今,npm已经支持修改registry了,可能cnpm唯一的作用就是和npm共存,即如果要使用官方源,则使用npm,如果使用淘宝源,则使用cnpm

    🌟pnpm

    pnpm是一种新起的包管理器,从npm的下载量看,目前还没有超过yarn,但它的实现方式值得主流包管理器学习,某些开发者极力推荐使用pnpm

    从结果上来看,它具有以下优势:

    1. 目前,安装效率高于npm和yarn的最新版
    2. 极其简洁的node_modules目录
    3. 避免了开发时使用间接依赖的问题
    4. 能极大的降低磁盘空间的占用

    安装和使用

    全局安装pnpm

    npm install -g pnpm

    之后在使用时,只需要把npm替换为pnpm即可

    如果要执行安装在本地的CLI,可以使用pnpx,它和 npx 的功能完全一样,唯一不同的是,在使用pnpx执行一个需要安装的命令时,会使用pnpm进行安装

    比如npx mocha执行本地的mocha命令时,如果mocha没有安装,则npx会自动的、临时的安装mocha,安装好后,自动运行mocha命令

    pnpm原理

    1. 同 yarn 和 npm 一样,pnpm 仍然使用缓存来保存已经安装过的包,以及使用 pnpm-lock.yaml 来记录详细的依赖版本

    2. 不同于 yarn 和 npm, pnpm 使用符号链接和硬链接(可将它们想象成快捷方式)的做法来放置依赖,从而规避了从缓存中拷贝文件的时间,使得安装和卸载的速度更快

    3. 由于使用了符号链接和硬链接,pnpm可以规避windows操作系统路径过长的问题,因此,它选择使用树形的依赖结果,有着几乎完美的依赖管理。也因为如此,项目中只能使用直接依赖,而不能使用间接依赖

    注意事项

    由于 pnpm 会改动 node_modules 目录结构,使得每个包只能使用直接依赖,而不能使用间接依赖,因此,如果使用 pnpm 安装的包中包含间接依赖,则会出现问题(现在不会了,除非使用了绝对路径)

    由于 pnpm 超高的安装卸载效率,越来越多的包开始修正之前的间接依赖代码

    🌟nvm

    nvm并非包管理器,它是用于管理多个node版本的工具

    在实际的开发中,可能会出现多个项目分别使用的是不同的node版本,在这种场景下,管理不同的node版本就显得尤为重要

    nvm就是用于切换版本的一个工具

    下载和安装

    最新版下载地址:https://github.com/coreybutler/nvm-windows/releases

    下载nvm-setup.zip后,直接安装

    使用nvm

    nvm提供了CLI工具,用于管理node版本

    在终端中输入nvm,以查看各种可用命令

    为了加快下载速度,建议设置淘宝镜像 node淘宝镜像:https://npm.taobao.org/mirrors/node/ npm淘宝镜像:https://npm.taobao.org/mirrors/npm/

    🌟 写在最后 

    包管理工具--》栏目将详细讲解前端包管理器,包括npm,yarn,及其他包管理器,如果文中出现有瑕疵的地方各位通过评论或者私信联系我,我们一起进步,有兴趣的伙伴可以关注订阅一下:点击查看更多实用技巧与知识

     

  • 相关阅读:
    linux下centOS系统安装vim以及常用命令
    JVM堆和方法区是怎样的关系?
    算法设计与分析 SCAU17089 最大m子段和
    linux运维笔记:ssh服务认证类型
    Vue 3 中如何迁移从 Vue 2 的项目?
    iptables 防火墙配置
    通过汇编理解cortex-m3:第0章
    【1656. 设计有序流】
    037-JTree控件使用讲解
    C#,骑士游历问题(Knight‘s Tour Problem)的恩斯多夫(Warnsdorff‘s Algorithm)算法与源代码
  • 原文地址:https://blog.csdn.net/G_ing/article/details/132698832
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号