Rails:为什么软件包安装会被sassc 2.4.0冻结

时间:2020-07-03 17:19:33

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

我正在尝试使用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标志的最新版本中运行相同的命令时,我看到大多数gems都已安装,但是当它到达时

Installing sassc 2.4.0 with native extensions

冻结。如果我使用云监视功能监视CPU(我正在使用运行Ubuntu 20.04的EC2实例),那么它也会出现峰值。我尝试删除所有依赖于sassc的依赖项,但是事实证明,这确实令人头疼,并且似乎没有必要。一些依赖的宝石包括我的CMS(舒适的墨西哥沙发),webpacker和一些节点依赖项。

我还尝试使用以下方式安装sassc

apt-get install sassc

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

有人知道为什么这个gem安装这么麻烦吗?任何解决方法/修复程序?顺便说一下,这些依赖项可以在我的macOS Catalina计算机上本地安装并正常运行。

奖金: 这是运行部署脚本时的CPU使用率: enter image description here

积分: enter image description here

贷方余额: enter image description here

也许无法通过免费的EC2计划安装sassc?

谢谢。

2 个答案:

答案 0 :(得分:4)

sassc版本2.4.0和rails 6是否存在问题。我将Gemfile中的版本更改为2.1.0,现在它可以快速安装并且不会卡在docker build上。

答案 1 :(得分:1)

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

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