用于 discourse 开发的 Apple M1

你好,
我计划购买搭载 Apple M1 芯片的 MacBook Pro 用于 Discourse 开发,希望能了解社区开发者对 Apple M1 处理器在 Discourse 开发方面的使用反馈。

您是否建议将 Apple MacBook Pro M1 作为 Discourse 开发的主要设备?

我们有不少工程师使用 M1 进行开发,并且非常喜欢它。@david 应该可以进一步说明。

是的,运行效果很棒!刚开始兼容性有些问题,但现在 Postgres、Redis、Ruby 和 Discourse 都运行得非常顺畅!相比我之前的 Intel MacBook,性能提升巨大。更多细节请参见 此主题

这听起来很有说服力 :wink: 非常感谢 @sam@david!等收到货后,我会分享我的使用体验 :grinning_face:

你好 :wave: 有人在使用 M1 芯片的 Mac 上同时搭建 Discourse 开发环境并开发其他技术栈的项目吗?体验如何,你们的流程是怎样的?

我目前正在开发和维护几个其他项目,在不同项目间切换一直是个头疼的问题,而在 M1 ARM 架构下这个问题变得更加突出。为了能让各个项目正常运行,我不得不添加和修改各种配置(例如为不同的技术栈和 CLI 设置不同的二进制文件路径,为不同的邮箱设置不同的 SSH 密钥),这真是一项繁重的任务。因此,我正在尝试优化这一流程,目前通过在 .zshrc 文件中设置别名和编写基础脚本来实现。

现阶段,我只专注于开发我的 Discourse 主题,并阅读 Discourse 的代码库 :face_vomiting: :joy:

参考
除 Discourse 外,我还在 M1 机器上开发的其他技术栈包括:

  • Rails 6
  • Rails 5 + React
  • React Native

如果您需要完全隔离的环境,随时可以使用我们的 Docker 设置。

据我所知,虽然其速度不如原生运行,但完全可用。

遗憾的是,M1 上的 Docker 实现存在一些已知问题,导致我们的基础镜像无法运行 :cry:

关于隔离开发环境,我的建议是确保使用 Bundler 或 Yarn,以便为每个项目安装不同的依赖项。对于 Ruby,还有一些工具如 rvm,可以让你在不同版本的 Ruby 之间快速切换。