Mather

We create our own demons.

Yarn 也敌不过的网络问题

默认分类 0 评

当你兴高采烈地下载完 Git 仓库中的项目,端起红茶,敲下 yarn 准备开发。不久后你就会发现满屏幕的 error

error \node_modules\node-sass: Command failed.

这时候我就想起一句名言

有时生活就像石头,会给你迎头一击。 —— 乔布斯

面对国内网络状况,使用 Yarn 也会出现依赖报错,多数原因是 node-sass 库下载、构建失败:

  • 网络问题导致的 node-sass 下载失败
  • 部分资源指向了托管在 s3.amazonaws.com 上的 github
  • 依赖库损坏,校检错误

删除项目冗余文件

删除因为解决依赖产生的错误配置和文件

node_modules/

package-lock.json

yarn.lock

方案一 创建 .npmrc 或 .yarnrc

在代码根目录中创建 .yarnrc 文件有助于项目开发人员根据自身环境对 npm 进行配置:

sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

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

方案二 设置淘宝 NPM 镜像

通过命令的方式设置本机的 Yarn 配置文件,将仓库源服务器指向淘宝提供的镜像:

yarn config set registry https://registry.npm.taobao.org -g

yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g

方案三 使用代理

使用一个 HTTP/S 代理可以顺利地下载好依赖文件

yarn config set proxy http://127.0.0.1:1080

# 下载完成后删除 http 代理
yarn config delete proxy

参考资料

关于安装 node-Sass 报错的解决记录

安装 node-sass 的正确姿势

淘宝 NPM 镜像

npm的.npmrc文件在哪里?缓存及全局包文件在什么位置?

Node v10.0.0 error Found incompatible module, upath@1.0.4: The engine "node" is incompatible with this module. Expected version ">=4 <=9"

使用 ES2015 处理数组

发表评论
撰写评论