Fre*_*rik 5 v8 ruby-on-rails docker libv8 apple-m1
我正在尝试让 Ruby on Rails 在 Apple Silicon (M1) Macbook 上的 Docker 中运行。我遇到的问题是 Javascript 运行时。gem mini_racer 依赖于未正确安装的 libv8。有类似问题的人似乎要么从源代码编译 V8,要么强制 libv8/mini_racer 使用系统版本。另一条路径似乎是改用 NodeJS。
有没有人在 M1 芯片上的 Docker 中启动并运行带有 Javascript 运行时的 RoR?
从V8的角度我可以说的是:
(I'm not familiar with RoR or Docker, so I can't help with the specifics regarding those.)
我记得似乎与 M1 无关,但 mini_racer 对 libv8 有一些问题,但通常在 mac 上我们用以下方法来解决问题
brew tap homebrew/versions
brew install v8-315
gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315
bundle install
Run Code Online (Sandbox Code Playgroud)
但不确定为什么它会发生在你的 docker 上,另一种方法是检查 v8 的安装位置并使用该路径更改 --with url。
在 docker 中,在错误之前提交更多行,并让构建完成,然后您可以 ssh 进入,并尝试本地命令。有人提出了以下解决方案。
RUN gem install -N libv8 -v '3.16.14.13' -- --with-system-v8 \
&& bundle config --global build.libv8 --with-system-v8
Run Code Online (Sandbox Code Playgroud)
您可以分享您的 dockerfile,这样我们首先可以确认它在正常机器上运行,然后您可以尝试。但当然,M1 是不同的架构,有些程序还没有准备好。
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |