我一直在尝试在 aarch64 设备上安装 therubyracer gem。我从源代码交叉编译了 v8(我有一个编译后的 arm64.release 文件夹),但不知道把它放在哪里。我还通过从 rubygems 下载 arm 所需版本的 .gem 文件成功安装了 libv8,并通过运行gem install path_to_gem
. 我还将它添加到 gemfile 中:
gem 'libv8', path: '~/.gem/ruby/1.9.1/gems/libv8-3.16.14.11'
但是,当我运行 bundle install 并尝试安装 therubyracer 时,我收到错误,因为它尝试再次编译依赖项,尽管它已经安装。我猜它没有检测到已经安装了 libv8。我也不知道将交叉编译的 v8 放在哪里,所以我的系统会检测到它。我正在使用 arm64 ubuntu 的一个版本。
这样做gem install therubyracer -v '0.12.2' -- --with-system-v8
也不起作用,它无论如何都会尝试编译 v8。
请注意,我需要所有东西都与 ruby 1.9.3 和 rails 3.2 兼容,并且我需要在 aarch64/arm64 设备上使用它。
我尝试在 therubyracer github 上询问,但没有得到任何答案,因为它已经很旧了。