【问题标题】:Compiling node-sass takes 10 minutes编译 node-sass 需要 10 分钟
【发布时间】:2018-09-30 23:02:24
【问题描述】:

我们经营许多小型网站。我们通常将它们托管在 Digital Ocean 的 5-10 美元服务器上。

我们部署的一部分是使用 node-sass 将 Sass 编译为 CSS。

在我们最新的服务器上,node-sass 库(不是实际的 scss 文件)的编译时间显着增加。我们说的是 8-10 分钟,而在其他项目中则需要 30-100 秒。

我们在 Ubuntu 16.04.4 上使用 node 8.11.1(最新 LTS)和 yarn 1.6.0(最新)和 node-sass 4.8.3(最新)。

有没有办法缓存部署之间的编译?或者有人知道为什么编译 node-sass 需要这么多时间吗?

【问题讨论】:

  • 编译是如何触发的? node_modules 是缓存还是必须每次都安装?
  • 它是由 yarn install 触发的——是的,node_modules 在每次部署时都是全新安装的。
  • 为什么不用yarn install —production 这样你就不需要每次都安装依赖了?命令是如何触发的?您有部署集还是手动部署?
  • 实际上它确实是由生产标志触发的。我们有一个部署脚本:创建文件夹、从 git 拉取、安装依赖项、运行构建脚本、切换文件夹 -- 已发布。
  • 也许您可以创建一些详细的日志输出,这样您就可以查看哪个进程花费了这么长时间。我在虚拟主机上安装 npm 时遇到了太多安装问题。我解决了以root身份安装所有节点包的问题,​​因此虚拟主机用户只使用所需的方法,而不必安装节点包。

标签: node.js sass yarnpkg node-sass


【解决方案1】:
npm install

yarn 在缓存方面存在一些问题(可能在您的 PC 或 CDN 上)。如果您的 PC 上有几个节点版本(例如 nvm),这可能会导致大量时间增加。在我的例子中,使用 npm 安装依赖项工作:40 秒,而使用 yarn 需要 5 分钟以上(我没有等到最后)

【讨论】:

    【解决方案2】:

    如果有人通过搜索引擎找到这个:

    我们没有找到该问题的任何解决方案。 我们将液滴上下缩放回原来的大小,问题就消失了。

    【讨论】:

      【解决方案3】:

      如果您正在运行受支持的操作系统和节点组合(请参阅 GH 上的发布页面了解您的 node-sass 版本),应该为您下载预构建的二进制文件。

      【讨论】:

        猜你喜欢
        • 2020-12-09
        • 1970-01-01
        • 2015-02-17
        • 2018-07-17
        • 2013-03-18
        • 1970-01-01
        • 2021-11-08
        • 2013-07-18
        • 1970-01-01
        相关资源
        最近更新 更多