【问题标题】:How to replace therubyracer javascript runtime如何替换rubyracer javascript运行时
【发布时间】:2021-01-07 18:13:32
【问题描述】:

如何替换therubyracer gem?我真的被困住了。

我们一直在为我们的 Rails 资产管道使用therubyracer gem。但是,它使用的依赖项已经过了生命周期并且存在安全漏洞。最新版本0.12.3 是从 2017 年 1 月 5 日开始的。

我查看了 mini_racer gem,但我们部署到 FreeBSD 并且从 2017 年 8 月 24 日起,FreeBSD 支持的最新版本是 0.1.14。我们在 macOS 上开发,我对这个版本的 mini_racer 的编译得到错误,其中之一是因为 CreateDefaultPlatform 已从 V8 中删除。

execjs 支持的运行时列表在https://github.com/rails/execjs 列出了Node.jsGoogle V8,但链接指向的页面看起来不像我可以在我的 Gemfile 中替换的宝石,这些页面也没有文档如何将它们的运行时用于 execjs。老实说,我不知道如何在我的 Rails 管道中使用更新的运行时。

【问题讨论】:

    标签: ruby-on-rails execjs


    【解决方案1】:

    使用therubyracer 通常已被机器本身的 NodeJS 安装所取代,这意味着它不会作为 gem 安装。需要 JS 运行时构建的 Gem 安装应该足够智能,可以找到您本地安装的 NodeJS。

    所以在本地,你应该能够从你的 Gemfile 中删除 therubyracer,假设你没有其他依赖它的 gem。如果你这样做了,那些可能已经过时或被遗弃了。您需要修改构建管道以在安装包之前安装 NodeJS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多