npm更换成淘宝镜像源以及cnpm

2023-11-07

需求由来

由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常。所以如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队(阿里巴巴旗下业务阿里云)干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

也就是说我们可以使用阿里布置在国内的服务器来进行node安装。

使用方法

1.使用阿里定制的 cnpm 命令行工具代替默认的 npm,输入下面代码进行安装:

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

2.检测cnpm版本,如果安装成功可以看到cnpm的基本信息。

cnpm -v

3.以后安装插件只需要使用cnpm intall即可


假如我已经习惯了npm install的安装方式,我不想去下载阿里的cnpm命令工具将命令变成cnpm怎么办?很容易我们想到,我直接将node的仓库地址改成淘宝镜像的仓库地址不就好了吗?

4.单次使用

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

5.永久使用

设置成全局的下载镜像站点,这样每次install的时候就不用加--registry,默认会从淘宝镜像下载,设置方法如下:

1.打开.npmrc文件(nodejs\node_modules\npm\npmrc,没有的话可以使用git命令行建一个( touch .npmrc),用cmd命令建会报错)
2.增加 registry =https://registry.npm.taobao.org  即可。

也可以按如下方式直接在命令行设置

npm config set registry https://registry.npm.taobao.org

检测是否成功

// 配置后可通过下面方式来验证是否成功
npm config get registry
// 或
npm info express

这样,我们可以使用淘宝镜像还不用更换成cnpm,是不是很爽!虽然实际都是使用的是淘宝镜像。
最后附上淘宝镜像官网地址:http://npm.taobao.org/

注:如果想还原npm仓库地址,只需再把地址配置成npm镜像就可以了

   npm config set registry https://registry.npmjs.org/

npm改成淘宝镜像与cnpm区别(20190509新增)

之前一直以为npm改成淘宝镜像后和cnpm本质是一样的,今天在研究package-lock.json时候发现,这两者还是有很大区别。特记录下:

先贴下截图对比:
1.使用cnpm安装lodash

 

 

 

2.使用改成淘宝仓库的npm安装lodash

 

 

npm.png

通过截图会发现:

  • cnpm安装模块的时候会在node_modules文件夹生成二个文件夹,一个以下划线 _开头以及版本号组成的名字,一个正常名字的模块,文件夹名字虽然不一样,但里面文件是一样的。
    比如执行cnpm install lodash,会在node_modules文件夹下生成两个文件夹:_lodash@4.17.11@lodash和lodash,

  • 先执行了cnpm install lodash,然后再执行npm install lodash,npm安装的lodash会替换掉cnpm安装的lodash包(包括以下划线开头那个包),文件夹会只剩一个npm先安装的lodash包。再次npm uninstall lodash或者cnpm uninstall lodash,都会删除lodash包,此时插件包就变成空文件夹了。

  • 先执行了cnpm install lodash,然后再执行npm uninstall lodash后,此时会报错

     npm ERR! code EINVALIDPACKAGENAME
     npm ERR! Invalid package name "_lodash@4.17.11@lodash": name cannot start with an underscore; 
     name can only contain URL-friendly characters
    

但是使用cnpm uninstall lodash后,不会报错,此时会删掉cnpm安装的两个包中其中一个即非下划线(正常名字)的包。剩余的那个包是可以正常通过鼠标点击打开的。然后在文件中require会报错,提示没有这个包。

  • 先执行了cnpm install lodash,然后手动删除cnpm安装的两个包中其中一个即下划线(非正常名字)的包,剩余的那个包,发现无法通过鼠标点击打开了。然后在文件中require会报错,提示没有这个包。

 

yinyong.png

  • 所以,cnpm安装的的2个模块,两者应该存在引用关系,正常名字模块是非正常名字模块的索引,两者都必须存在才可以使用。但是npm安装下来就不存在这种情况了,因为只有一个正常名字模块。

  • 实测发现,尽管使用npm改成淘宝仓库,发现安装速度还是远远比cnpm慢(当模块比较多的时候)。可能应该和cnpm安装的文件结构有关系吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm更换成淘宝镜像源以及cnpm 的相关文章

随机推荐

  • 统计分析:聚类分析(详细讲解)

    聚类分析是研究 物以类聚 的一种方法 人类认识世界往往首先将被认识的对象进行分类 早起人们主要靠经验和专业知识实现分类 但随着生产技术和社会科学的发展 对分类学的要求越来越高 靠经验和专业知识来分类越来越难 于是数学这一有力工具被引入分类学
  • textarea接受后台数据

    在jsp页面使用EL接受后台数据到textarea
  • mybatis-plus-generator生成实体类时添加jdbcType

    效果 需要修改的文件 1 基本思路 1 使用变量 useJdbcType 控制是否需要生成jdbcType 2 生成时拼接相关字段信息 2 步骤 2 1重写TableField 添加jdbcType属性 在com baomidou myba
  • rollup怎么处理.node文件

    Rollup 是一个 JavaScript 模块打包器 它可以将多个模块合并成单个文件 它可以帮助你将你的代码打包成可以在浏览器中运行的文件 要使用 Rollup 处理 node 文件 你需要使用一个 Rollup 插件 如 rollup
  • 数据挖掘基础

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 数据挖掘定义及用途 1 定义 2 用途 二 决策树 1 理论知识 1 概念 2 算法一般过程 C4 5为例 2 小结 三 关联规则 1 概述 2 关联分析
  • MySQL之多表关联删除/更新

    日常测试的时候 需要连接其他表而删除某些脏数据 按照正常的查询的写法 会这样写删除语句 DELETE from order where id in SELECT o id from order o LEFT JOIN customer c
  • minicom键盘失效,不能输入问题

    转 http blog sina com cn s blog 5d0e8d0d01015svy html 这个问题可以参考secureCRT的时候遇到的问题 问题与minicom的一样 RTS 请求发送 CTS 清除发送 默认情况下mini
  • vue3配置proxy解决跨域

    跨域问题是前端开发中较常见的问题 因为javascript的浏览器会支持同源策略 如果域名 协议 端口任意不同就会产生跨域 如果非同源 那么在请求数据时 浏览器会在控制台中报一个异常 提示拒绝访问 错误信息如下 Access to XMLH
  • Linux常用命令整理(适合初学)

    关机 重启操作 帮助文档 1 帮助命令 1 1 help help cd 查看cd命令的帮助信息
  • 服务器推送消息SSE,HTTP 服务器消息推送之SSE

    HTTP 服务器推送也称 HTTP 流 是一种客户端 服务器通讯模式 它将信息从 HTTP 服务器异步推送到客户端 而无需客户端请求 如今的 web 和 app 中 愈来愈多的场景使用这种通讯模式 好比实时的消息提醒 IM在线聊天 多人文档
  • 将字符串转化为整数

    Java内部实现 param s the code String containing the integer representation to be parsed param radix the radix to be used whi
  • unet测试评估metric脚本

    全部复制的paddleseg的代码转torch import argparse import logging import os import numpy as np import torch import torch nn functio
  • 第十三届蓝桥杯 2022年省赛真题(Java 大学C组)

    蓝桥杯 2022年省赛真题 Java 大学C组 目录 试题 A 排列字母 试题 B 特殊时间 试题 C 纸张尺寸 试题 D 求和 试题 E 矩形拼接 试题 F 选数异或 试题 G GCD 试题 H 青蛙过河 试题 I 因数平方和 试题 J
  • 43 openEuler搭建Apache服务器-配置文件说明和管理模块

    文章目录 43 openEuler搭建Apache服务器 配置文件说明和管理模块 43 1 配置文件说明 43 2 管理模块和SSL 43 2 1 概述 43 2 2 加载模块 43 2 3 SSL介绍 43 openEuler搭建Apac
  • 浅谈(Java)JUC线程池ScheduledThreadPoolExecutor

    博主介绍 程序员悟啦 乌拉 个人仓库 码云 座右铭 懒 对一个人的毁灭性有多大 早起的重要性就多大 免责声明 文章由博主原创 部分文章整理于网络 仅供学习和知识分享 相遇是缘 既然来了就拎着小板凳 坐下来一起唠会儿 如果在文中有所收获 请别
  • 《银行法律法规》二、银行业务——3、结算、代理、托管业务

    第三章 结算 代理及托管业务 第一节 支付结算业务 考点1 国内结算 支付结算 是指结算客户之间由于商品交易 劳务供应等经济活动而产生的债权债务关系 通过银行实现资金转移而完成的结算过程 支付结算是银行的一项基础性服务 支付结算应遵循恪守信
  • 《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

    为加快推动区块链技术和产业创新发展 北京市政务服务管理局 北京市科委 北京市经济和信息化局组织相关单位抓紧推进政务服务领域区块链应用建设 取得阶段性成果 在此基础上 北京市区块链工作专班专家组编制了 北京市政务服务领域区块链应用创新蓝皮书
  • SDC设计约束——IO延时约束

    原文链接 https juejin cn post 7123461617299226660 约束命令 set input delay clock CLK max 2 0 get ports IN set input delay clock
  • 百度地图+谷歌地图 勾画 行政区块边界

    最近公司做项目 需要用在谷歌地图上勾勒出搜索的行政区块的轮廓 于是在找各种资料 最后好像是有末尾CSDN的网友提供了思路 具体看正文 效果如下 先贴代码 html view plain copy
  • npm更换成淘宝镜像源以及cnpm

    需求由来 由于node安装插件是从国外服务器下载 受网络影响大 速度慢且可能出现异常 所以如果npm的服务器在中国就好了 所以我们乐于分享的淘宝团队 阿里巴巴旗下业务阿里云 干了这事 来自官网 这是一个完整 npmjs org 镜像 你可以