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

node-sass 安装卡在 node scripts/install.js 解决办法

======== 7月12日更新 ========

总的来说就是两种方法解决:

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

或者在 ~/.npmrc 里添加下面这行(参考),保存后再 npm install
(如果是用的 cnpm,需要添加到 ~/.cnpmrc)

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

以下的内容主要是这个问题出现的分析,有兴趣就看

======== 7月10日更新 ========

评论提醒了我,npm.taobao.org 已经收录了 node-sass 的源码,可以直接指定下载的地址,参考:

https://github.com/lmk123/blog/issues/28

https://cnodejs.org/topic/5637549fd426a1404cbd0614

============ 原文 ============

一个 node 项目里用到了 node-sass@3.8.0 ,安装的时候在这一步:

> node-sass@3.8.0 install path/to/project/node_modules/node-sass
> node scripts/install.js

一直卡住,至少有半个小时没反应,自己的 Mac 和腾讯云的服务器上都是这样

去看 node_modules/node-sass/scripts/install.js 的代码,发现是要在 GitHub 上下载编译好的 node-sass 二进制包 ,去看 node-sass 的 Release,平均在 2.5 MB 左右

于是明了了,GitHub 在国内访问本来就不稳定,然后还是用 request 去访问,就更慢了。看了一下,半个小时左右才下了 500 K

正好又在 这里 的 getBinaryPath() 可以设置二进制的位置。在这之前还要先知道自己的系统需要的版本。

用这行命令:

node -p "[process.platform, process.arch, process.versions.modules].join('-')"

复制输出的结果,去 Release 列表 找到对应的版本,Ctrl+F 粘贴,找到那个文件,下载(必要的时候挂代理,浏览器下载通常都比 node 下载更快更稳定),然后文件存到一个稳定的路径,并复制路径(比如 ~/.node/.npm/node-sass/darwin-x64-48_binding.node

~/.npmrc 下面新增一行,新增 sass_binary_path 项并填入刚才的路径,比如

sass_binary_path=/home/ubuntu/.npm/node-sass/darwin-x64-48_binding.node

最后再去项目目录下:

rm -rf node_modules/ && npm i

相关文章:

  • mybatis绑定错误-- Invalid bound statement (not found)
  • 10.5 搜索的优化版
  • Java中isEmpty和null以及“”的区别
  • wMy_Python ~储存相关~
  • Bean注入报错:org.springframework.beans.factory.BeanCreationException
  • ORA-00918: 未明确定义列
  • [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解
  • 拥有300万安装量的应用是如何恶意推广刷榜的?
  • IntelliJ IDEA 创建 Java web Maven项目
  • 示波器高压差分探头的了解及常见测量方法
  • js中截取文件的后缀名方法
  • jQuery通过ajax传送数组
  • KEngine:Unity3D资源的打包、加载、调试监控
  • 用idea打包spring boot项目,然后部署到Linux服务器上
  • linux 下查看机器是cpu是几核的(转)
  • jQuery(一)
  • js作用域和this的理解
  • SwizzleMethod 黑魔法
  • 包装类对象
  • 初识 webpack
  • 近期前端发展计划
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 力扣(LeetCode)21
  • 码农张的Bug人生 - 初来乍到
  • 前端面试题总结
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 再次简单明了总结flex布局,一看就懂...
  • 《码出高效》学习笔记与书中错误记录
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​Java并发新构件之Exchanger
  • ​Linux·i2c驱动架构​
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #vue3 实现前端下载excel文件模板功能
  • (1)SpringCloud 整合Python
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (arch)linux 转换文件编码格式
  • (k8s中)docker netty OOM问题记录
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (第61天)多租户架构(CDB/PDB)
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (实战篇)如何缓存数据
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 调用php,php 调用.net com组件 --
  • .net 托管代码与非托管代码
  • .netcore 获取appsettings