zoukankan      html  css  js  c++  java
  • node-sass 安装卡在 node scripts/install.js 解决办法

    转自:https://segmentfault.com/a/1190000005921721

    ======== 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
  • 相关阅读:
    SGU 205. Quantization Problem
    BZOJ1009: [HNOI2008]GT考试
    SGU 204. Little Jumper
    Spring Aspect 获取请求参数
    springboot 是用拦截器Interceptor获取请求的控制器和请求的方法名
    spring boot Filter过滤器的简单使用
    Java 使用Query动态拼接SQl
    java 传入list集合 返回树形菜单,for循环遍历
    spring data jpa 的简单使用
    vue项目引入element
  • 原文地址:https://www.cnblogs.com/zxsoft/p/6175608.html
Copyright © 2011-2022 走看看