微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何替换 therubyracer javascript 运行时

如何解决如何替换 therubyracer javascript 运行时

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

我们一直在为我们的 Rails 资产管道使用 therubyracer gem。但是,它使用的依赖项已过期并具有安全漏洞。最新版本 0.12.3 发布于 2017 年 1 月 5 日。

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

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。