ExecJS:RuntimeUnavailable:找不到 Javascript 运行时 Docker 应用程序

cop*_*cop 5 javascript ruby docker ruby-on-rails-5 docker-compose

我正在尝试使用Docker构建一个容器 Rails 应用程序。在我的 Gemfile 中, execjsgem 已经存在。但是,在运行服务器时我收到以下错误

ExecJS:RuntimeUnavailable: Could not find a javascript runtime

经过进一步挖掘,我发现添加 g​​emtherubyracermini_racer解决了问题。但是,添加后我收到以下错误。

Unable to load application: LoadError: Error relocating /usr/local/bundle/gems/therubyracer-0.12.3/lib/v8/init.so: __vfprintf_chk: symbol not found - /usr/local/bundle/gems/therubyracer-0.12.3/lib/v8/init.so

请帮忙

Sha*_*jed 1

之所以提出这个问题,是因为therubyracer宝石所有者没有积极维护。

当转移到 docker 镜像时我也遇到了同样的ruby:2.6.5-slim问题ruby:2.6.5-alpine。经过几个小时的谷歌搜索后,我找到了解决该问题的解决方案。

安装nodejspython v2.7打包并将 gem 添加到 Gemfile 中
gem 'libv8-alpine', '~> 6.7', '>= 6.7.288.46.1'
gem 'therubyracer'从 Gemfile 中删除。

参考文献:
libv8-alpine
在此处输入链接描述