修改npm的代理服务器,修改npm镜像

修改npm源

在项目跟目录或者用户根目录下新增 .npmrc 文件

registry = 镜像地址(https://registry.npm.taobao.org)

也可以指定某个包使用特定的镜像地址

@sentry:registry = 镜像地址(https://registry.npm.taobao.org)

复制代码单次修改npm镜像源

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

复制代码修改npm默认源

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

复制代码使用第三方工具cnpm

修改完镜像源以后可能还会存在安装不了的情况

原因:有些npm 包安装过程中会去github或者其他被枪的网站下载zip包,例如node-sass,electron

以electron为例

electron会download一个electron-download的npm包,然后执行node install.js(图1),从github release page下载electron zip包(图2)2527e95226312152ec5670e9baab7b14.png

图1

63d7af12e616dae62259b7c627767d57.png

图2

解决方法:

在.npmrc 中文件中添加

disturl=https://npm.taobao.org/dist

复制代码

然后在命令行添加对应的环境变量

electron 和 sass的镜像分别为:

export ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"

export SASS_BINARY_SITE="https://npm.taobao.org/mirrors/node-sass"

复制代码

这里涉及到一个概念,npm安装部分包的时候需要用到node-gyp实时编译

要理解node-gyp首先要知道什么是gyp(gyp.gsrc.io/index.md)。gyp其实是一个用来生成项目文件的工具,一开始是设计给chromium项目使用的,后来大家发现比较好用就用到了其他地方。生成项目文件后就可以调用GCC, vsbuild, xcode等编译平台来编译。至于为什么要有node-gyp,是由于node程序中需要调用一些其他语言编写的工具甚至是dll,需要先编译一下,否则就会有跨平台的问题,例如在windows上运行的软件copy到mac上就不能用了,但是如果源码支持,编译一下,在mac上还是可以用的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值