ruby-on-rails - 如何替换rubyracer javascript运行时
问题描述
如何更换therubyracer
宝石?我真的被困住了。
我们一直在therubyracer
为我们的 Rails 资产管道使用 gem。但是,它使用的依赖项已经过了生命周期并且存在安全漏洞。最新版本0.12.3
为 2017 年 1 月 5 日。
我查看了mini_racer
gem,但我们部署到 FreeBSD,FreeBSD 支持的最新版本是0.1.14
2017 年 8 月 24 日。我们在 macOS 上开发,我的这个版本的编译mini_racer
出现错误,其中一个是因为CreateDefaultPlatform
已从 V8 中删除。
execjs 支持的运行时列表,位于https://github.com/rails/execjs列表Node.js
,Google V8
但链接指向的页面看起来不像我可以在我的 Gemfile 中替换的 gem,这些页面也没有关于如何将它们的运行时用于 execjs。老实说,我不知道如何在我的 Rails 管道中使用更新的运行时。
解决方案
Usingtherubyracer
通常已被机器本身的 NodeJS 安装所取代,这意味着它不会作为 gem 安装。需要 JS 运行时来构建的 Gem 安装应该足够聪明,可以找到本地安装的 NodeJS。
所以在本地,你应该能够therubyracer
从你的 Gemfile 中删除,假设你没有其他依赖它的 gem。如果你这样做了,那些可能已经过时或被遗弃了。您的构建管道将需要修改以在安装包之前安装 NodeJS。
推荐阅读
- c++ - 如何微调/监控 Boost::ODEIt bulirsch stoer?
- java - Servlet 类在我的文件上传程序中不起作用
- reactjs - window.onmessage 在反应 js 组件中不起作用
- r - 忽略日期的月份差异
- javascript - 在 JavaScript 中从文件中加载文本
- swift - 如何更改GraphicalDatePickerStyle日期选择器Swiftui的选择颜色(AM,PM)和时间
- bash - 带或不带双引号的 bash 变量
- javascript - 如何在 JavaScript 中从多个数组中随机选择一个数组
- android - Room:WearOS App 中不再生成数据库文件夹和文件
- mongodb - 如何禁用 MongoDB 的日志记录?