【问题标题】:Rails: Why is bundle install frozen up by sassc 2.4.0Rails:为什么捆绑安装被 sassc 2.4.0 冻结
【发布时间】:2020-10-24 10:50:27
【问题描述】:

我正在尝试使用 Capistrano 部署我的 rails 应用程序,但是,部署过程 (cap production deploy) 一直处于等待状态:

$HOME/.rbenv/bin/rbenv exec bundle install --path /home/deploy/appname/shared/bundle --jobs 4 --without development test --deployment -- quiet

当我 ssh 进入服务器并在没有 --quiet 标志的最新版本中运行相同的命令时,我看到大多数 gem 已安装,但是当它到达时

Installing sassc 2.4.0 with native extensions

它冻结了。如果我使用 cloud watch 监控 CPU(我使用的是运行 Ubuntu 20.04 的 EC2 实例),我看到它也会出现峰值。我已经尝试删除所有依赖 sassc 的依赖项,但这已证明是一个非常令人头疼的问题,而且似乎没有必要。一些依赖 gem 包括我的 CMS(舒适的墨西哥沙发)、webpacker 和一些节点依赖项。

我也尝试使用 sassc 安装

apt-get install sassc

无济于事(它安装,但捆绑安装仍然冻结)。

有没有人知道为什么这个 gem 安装有这么多麻烦?任何解决方法/修复?顺便说一句,依赖项在我的 macOS Catalina 机器上本地安装并运行良好。

奖金: 这是我运行部署脚本时的 CPU 使用率:

学分:

贷方余额:

也许使用免费的 EC2 计划根本无法安装 sassc?

谢谢。

【问题讨论】:

标签: ruby-on-rails amazon-ec2 deployment capistrano ubuntu-20.04


【解决方案1】:

使用旧版本的 sass 可以解决问题。我建议在 Gemfile 中将 6 更改为 5.1.0。该文件将位于您的 rails 文件夹中(您在创建新 rails 时使用的名称)

我认为 Rails 6 由于某种原因与 Sass 6.0.0 的依赖项不兼容。

【讨论】:

    【解决方案2】:

    sassc 版本 2.4.0 和 rails 6 有问题吗?我将 Gemfile 中的版本更改为 2.1.0,现在它安装速度很快,不会卡在 docker build 上。

    【讨论】:

    • 这似乎是问题的核心。使用旧版本的 sassc 可以解决这个问题。
    猜你喜欢
    • 2021-01-31
    • 2018-01-07
    • 1970-01-01
    • 2014-02-01
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    相关资源
    最近更新 更多