当前位置: 首页 > news >正文

NodeJS 依赖下载及切换下载源

简介

任何编程语言都有依赖仓库,而 NodeJS 的官方依赖仓库就是 npmjs 。NodeJS 也提供了官方的工具 npm(Node Package Manager)来安装依赖。但是 npm 也存在一些问题,因此也有不少第三方的更容易使用的包管理工具,如 yarn,pnmp 等,它们兼容 npmjs 仓库,同时提供了例如缓存、稳定性和速度优化等功能。

使用

初始化项目。

npm init
yarn init
pnpm init

下载依赖。

npm install axios
yarn add axios
pnpm add axios

安装项目的依赖,工具会根据 package.json 或其他 lock 文件下载所有依赖。

npm install
yarn install
pnpm install

移除依赖。

npm remove axios
yarn remove axios
pnpm remove axios

详细的使用可以参考官方文档:

  • npm
  • yarn
  • pnpm

切换下载源

从官方源下载依赖,对于国内非常慢。我们可以使用像 cnpm 这样的工具。它是专门用于国内的 npm 客户端,与 npm 是完全一样的子命令。

另一种更简单的方法就是直接修改上面工具的镜像源为国内的源,这样只需要配置就可以大大加快下载速度,而且也可以用于配置私有的镜像源。

运行时临时指定

可以在运行时临时指定下载的镜像源。

npm install axios --registry https://registry.npmmirror.com
yarn install axios --registry https://registry.npmmirror.com

使用配置文件

在配置文件中可配置镜像仓库地址,这样就不用每次都输入了。

项目级配置文件

在项目根目录中添加 .npmrc 文件,添加以下内容。

registry=https://registry.npmmirror.com

yarn,pnpm 也支持 .npmrc,同时 yarn 还提供了自己的配置文件 .yarnrc

registry "https://registry.npmmirror.com"

为方便支持其他工具,建议在 .npmrc 中配置。

全局配置

通过命令配置。

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

使用 get 即可查看当前配置。

npm config get registry

全部配置文件的位置一般在 npm 的安装路径下的 etc/npmrc,在不同的系统下位置可能不同。另外 npm 还支持用户家目录下的配置文件 ~/.npmrc。但还是建议使用命令行来配置。

配置优先级一般为:命令行参数 > 项目配置 > 用户配置 > 系统配置。

注意:如果项目中存在 package-lock.json 或 yarn.lock 等锁文件,其中已经包含了依赖的下载路径,配置就不会起作用。只能删除锁文件重建。

国内源

国内源推荐 https://www.npmmirror.com/ ,是阿里提供了镜像源,速度非常快,cnpm 就是他们提供的官方工具。之前的淘宝镜像源 registry.npm.taobao.org 已经迁移到了这个新域名。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 29.Labview界面设计(下篇) --- 自定义控件库、界面布局与外观设计
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • 关于Redis的集群面试题
  • 白骑士的PyCharm教学实战项目篇 4.1 Web应用开发
  • 灵办AI:智能插件,办公与编程的得力助手
  • 【Java算法专场】位运算(上)
  • Godot学习笔记8——PONG游戏制作
  • 了解Java中的反射,带你如何使用反射
  • 【Unity/XLua】xlua自带教程示例分析(7)—— 同步测试
  • .net 7和core版 SignalR
  • 【论文分享】测量城市夜间活力及其与城市空间结构的关系:一种数据驱动的方法
  • 软考-软件设计师 (计算机组成和体系结构习题)
  • Linux-入门-02
  • 【算法刷题日志】1044 最长重复子串和75 颜色分类,
  • 在Application中如何将集成三方框架初始化
  • 【Leetcode】101. 对称二叉树
  • @jsonView过滤属性
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • in typeof instanceof ===这些运算符有什么作用
  • oldjun 检测网站的经验
  • Rancher-k8s加速安装文档
  • vue总结
  • 闭包--闭包作用之保存(一)
  • 配置 PM2 实现代码自动发布
  • 入口文件开始,分析Vue源码实现
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 为视图添加丝滑的水波纹
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 在Mac OS X上安装 Ruby运行环境
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​浅谈 Linux 中的 core dump 分析方法
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (¥1011)-(一千零一拾一元整)输出
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (4)事件处理——(7)简单事件(Simple events)
  • (9)目标检测_SSD的原理
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (四)软件性能测试
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .Net 6.0 处理跨域的方式
  • .NET C# 操作Neo4j图数据库
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Core中如何集成RabbitMQ