介绍
在 macOS 蒙特雷 (x86_64-darwin-21) 下迷你赛车取决于libv8需要安装gem,总结一下解决方法
TL;博士
- 无法在 macOS Monterey 下安装“libv8”gem (
x86_64-darwin-21) - 很容易获取 macOS Big Sur (
x86_64-darwin-20) 的文件并应用补丁进行设置。
为什么不能在 macOS Monterey 上轻松安装?
所有版本的 libv8未提供 x86_64-darwin-21 的二进制文件。
没有提供二进制文件 = 需要从源代码构建
libv8README中描述的Platform只有以下,在x86_64-darwin-21环境下无法轻松安装
- x86_64-darwin-19
- x86_64-darwin-18
- x86_64-darwin-17
- x86_64-linux
- x86-linux
另外,虽然自述文件中没有提到x86_64-darwin-20,但提供了x86_64-darwin-20 的二进制文件,并且在x86_64-darwin-20 环境中安装成功。
已为此问题创建了一个问题,但建议的解决方案是迷你赛车通过更新libv8指某东西的用途libv8 节点建议改为
libv8什么时候libv8 节点关于
libv8什么时候libv8 节点(什么时候红宝石赛车手),请参考以下文章
如何安装
不建议包含Gemfile.lock,这会导致版本控制或生产部署的差异
包含差异,生产部署时请注意
要做的工作如下
- 获取问题注释中提到的 shell 脚本
- 更改shell脚本的权限并执行
- 将
libv8 (8.4.255.0-x86_64-darwin-21)添加到 Gemfile.lock
获取问题注释中描述的 shell 脚本
少于libv8在存储库中创建的问题中获取 shell 脚本
缺少 macOS Monterey 构建 (x86_64-darwin-21) 问题 #318 rubyjs/libv8 - ksylvest 评论
将获取的shell脚本保存到本地为gem-install-libv8-darwin-20.sh
更改shell脚本的权限并执行
更改之前保存的shell脚本的权限
$ chmod +x gem-install-libv8-darwin-20.sh
权限更改完成后执行shell脚本
执行时会下载libv8-8.4.255.0-x86_64-darwin-20.gemspec,打上补丁后会安装libv8-8.4.255.0-x86_64-darwin-21.gemspec。
$ ./gem-install-libv8-darwin-20.sh
*** detecting
/path_to_rbenv/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x
x86_64-darwin-21
x86_64-darwin
libv8 8.4.255.0: x86_64-darwin-20 => x86_64-darwin-21
*** downloading
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 17.0M 100 17.0M 0 0 11.3M 0 0:00:01 0:00:01 --:--:-- 11.3M
*** cleaning
// 一部省略...
*** installing
Successfully installed libv8-8.4.255.0-x86_64-darwin-20
Building YARD (yri) index for libv8-8.4.255.0-x86_64-darwin-20...
Done installing documentation for libv8 after 0 seconds
1 gem installed
*** patching
/path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/specifications/libv8-8.4.255.0-x86_64-darwin-20.gemspec -> /path_to_rbenv/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/specifications/libv8-8.4.255.0-x86_64-darwin-21.gemspec
/path_to_rbenv/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/doc/libv8-8.4.255.0-x86_64-darwin-20 -> /path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/doc/libv8-8.4.255.0-x86_64-darwin-21
/path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/gems/libv8-8.4.255.0-x86_64-darwin-20 -> /path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/gems/libv8-8.4.255.0-x86_64-darwin-21
/path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/cache/libv8-8.4.255.0-x86_64-darwin-20.gem -> /path_to_rbenv/redeem/env/rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/cache/libv8-8.4.255.0-x86_64-darwin-21.gem
*** result
// 一部省略...
确保在执行完成时安装了libv8 (8.4.255.0 x86_64-darwin-21)
$ gem list | grep libv8
libv8 (8.4.255.0 x86_64-darwin-21)
将libv8 (8.4.255.0-x86_64-darwin-21) 添加到 Gemfile.lock
在macOS Monterey (x86_64-darwin-21) 环境下安装libv8 时为Gemfile.lock 添加定义
libv8 (8.4.255.0)
libv8 (8.4.255.0-universal-darwin-20)
libv8 (8.4.255.0-x86_64-darwin-20)
+ libv8 (8.4.255.0-x86_64-darwin-21)
libv8 (8.4.255.0-x86_64-linux)
添加定义后,执行bundle install,检查gem是否被正确识别
参考
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308626537.html