我在 ./launcher rebuild app 序列中应如何指定 --platform linux/arm64?
我需要在 M1 上本地测试 Discourse/Docker。
在 ARM 构建完全实现之前,最好能设置此项。
此致,
Walker
我在 ./launcher rebuild app 序列中应如何指定 --platform linux/arm64?
我需要在 M1 上本地测试 Discourse/Docker。
在 ARM 构建完全实现之前,最好能设置此项。
此致,
Walker
目前 Discourse 尚不支持 arm64 架构,因此启动器中暂无相关切换选项。
我们正积极开发中,团队已有不少成员在 M1 芯片上运行该服务,但它目前仍依赖于 libv8 的一个分支,而该分支是 miniracer 的传递依赖项。
谢谢,Rafael。
你们都很棒。
此致,
Walker
你可以尝试 launcher 支持的 docker 参数,也许能行。
开发环境的性能表现如何?
单核 Rails 工作负载(如创建主题或查看主题)表现惊人。但在多核场景或涉及磁盘 I/O 的操作中,其速度仍远逊于任何近期的 x86_64 产品。
明白了。感谢提供这些信息。我认为 M1 的软件支持还需要一段时间才能完善,但未来前景光明。
这话听起来可能有些刺耳,但让我稍微感到欣慰的是,我最近购买的设备不会突然就过时了。![]()
如果那不起作用,你可以使用 DOCKER_DEFAULT_PLATFORM 环境变量。我目前在 zsh 配置文件中设置了:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
在使用 Docker 时,我几乎总是希望架构与生产环境保持一致。
与上一代 MacBook 相比,这是一个巨大的改进,尽管 文件系统性能问题 仍然存在。不过,高端 Linux 桌面电脑仍然会胜过它。
例如,我可以在核心(M1 MacBook Pro,Discourse、Redis 和 Postgres 原生运行)上运行 bin/turbo_rspec,耗时约 2 分 50 秒。而使用高端 Linux 桌面电脑的团队成员可以在大约 1 分钟内完成。
将其启用为 stable 的版本路线图是什么?
我们需要发布一款新的 mini racer / v8 gem,目前尚无预计发布时间,我们正在测试 alpha 版本。
@sam 测试进展如何?我对 M1 兼容版本非常感兴趣。
这时间并不算太差……毕竟还有很多开发者(开发人员)甚至远远达不到这个水平……
要在 M1 芯片上开发 Discourse,你可以在 Rails 论坛找到一些相关信息:https://discuss.rubyonrails.org/t/tips-and-tricks-for-developing-rails-applications-on-apple-silicon/77089。我们团队中有几位成员日常都在使用这种方法,效果很好。
不过,我不建议在 M1 芯片上运行 Discourse 的生产环境服务器。
如果是这样,那为什么不发布到 GA 呢?
不过,我不建议在 M1 芯片上运行生产环境的 Discourse 服务器。
为什么不行?
我想应该没问题:slight_smile:
它真的非常棒。我不知该如何感谢你们。做得太棒了。
我想,只要大家口口相传推广 Discourse 就足够了……
我不太明白……所有这些内容都是公开的,你可以按照这些说明自行操作并让系统运行起来。
我们的生产环境安装说明旨在用于在 AMD64 架构的 Linux 主机上运行。虽然你可以利用本主题中的技巧尝试在其他操作系统或架构上运行,但我们无法保证一定能成功。
当然可以。我使用的是 Pro 版本,但我们也有同事在使用 M1 MacBook Air 和 Mac Mini。在我们的开发基准测试中,它们之间的性能差异似乎非常小。
在哪里?在官方的公共仓库中吗?
在我链接的文章中:
如果您是在问我们是否对 Discourse 进行了某些位于私有开发分支中的更改,答案是没有。您可以通过安装我们所依赖的 ARM64 版本依赖项,让 Discourse 在 M1 系统上运行,具体步骤可参考 David 在上面发布的指南。
我们都希望官方仓库能支持新硬件,对吧;) 而不是把代码藏在柜子里。