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
  • 相关阅读:
    day01--计算机硬件基础笔记
    22 Jun 18 Django,ORM
    21 Jun 18 Django,ORM
    20 Jun 18 复习, mysql
    20 Jun 18 Django,ORM
    19 Jun 18 复习, 正则表达式
    19 Jun 18 Django
    15 Jun 18 复习, shutil模块
    15 Jun 18 Django
    14 Jun 18 复习, form表单
  • 原文地址:https://www.cnblogs.com/zxsoft/p/6175608.html
Copyright © 2011-2022 走看看