c语言 - Rails 资产预编译失败 断言"标记 <= GUMBO_TAG_LAST"失败



有人能解决这个问题吗?自从昨晚以来,我一直找不到解决方案。

我尝试将我的应用程序从ruby2.3.x升级到ruby2.6.x,并将rails从4.2.x升级到rails5.2.x,我的应用程序在我的mac上运行良好,包括资产预编译。

然后使用新的ubuntu os20.04.2 LTS从旧服务器迁移到新的暂存服务器(gcp(

我在部署和手动运行时遇到了这个错误:

user@app-focal:/var/www/html/app/releases/20211223175449$ RAILS_ENV=staging ~/.rvm/bin/rvm 2.6.8@app do bundle exec rake assets:precompile
I, [2021-12-24T00:56:12.981740 #108442]  INFO -- : Writing /var/www/html/app/releases/20211223175449/public/assets/tinymce-5c5b8b58ae365223e6d3f58192e4d1ca79f4b920f237f3d3a985d6221f658c25.js.gz
ruby /var/www/html/app/shared/bundle/ruby/2.6.0/bin/rake assets:precompile: tag.c:181: gumbo_normalized_tagname: Assertion `tag <= GUMBO_TAG_LAST' failed.
Aborted (core dumped)

堆栈:

  • rvm 1.29.12
  • 捆扎机2.3.0
  • ruby 2.6.8
  • 轨道5.2.6
  • 节点js 14.16.0/16.13.1/17.3.0

这不是解决方案,但我尝试制定短期解决方案。

当你尝试升级rails应用程序时,你需要一个计划,并从各个方面分析你当前的应用程序。

我的问题很常见。我尝试捆绑更新,但我的Gemfile上的一些gem没有设置版本,所以一些gem被升级了,包括nokigiri。我的应用程序太旧了,尤其是有资产的应用程序。我的资产无法使用新版本的nokogiri进行预编译,所以我只是降级了它,错误就消失了。

然后我会发现问题,为什么在我的本地机器(mac(运行良好,但在服务器上没有。

相关内容

最新更新