Apple Silicon (M1) 芯片开发环境设置

Apple 的新 M1 芯片,也称为 Apple Silicon,与上一代相比,它运行在不同的架构(称为 ARM-64)上。虽然他们提供了一个仿真层,但一些工具还没有准备好。重要的是,Lando 和 Docker 中存在我们需要的上游依赖项,这些依赖项在仿真层中根本不可行。本博客提供了在不使用这些工具的情况下运行开发环境的步骤。Apple-M1-chip-742x500-1

应用

大多数已编译的商用或开源应用程序现在都运行良好,无论是通过开发人员的更新,还是通过 Apple 的仿真层 Rosetta。

完全兼容

值得注意的是,一些常用工具,如 Slack、Zoom、所有相关浏览器、PHPStorm、VSCode、Sublime Text、Harvest、iTerm2、1Password 和 Docker Desktop for Mac 都已发布更新并完全兼容。不过,有关 Docker 的更多信息,请参见下文。

启用 Rosetta

Sourcetree 是 Atlassian 的 Git 客户端,通过 Rosetta 兼容。最新的状态可以在这里找到。

申请的最新状态

Do It ARM是一个很好的应用程序列表,以及它们对 ARM-64 架构的当前准备状态。另请参阅我能否在使用 Apple Silicon M1 芯片的 Apple 计算机上运行我的 Adob​​e 应用程序?有关 Adob​​e 产品套件的更多信息。

下载链接

  • 松弛:Mac | 下载
  • Zoom:视频会议、网络会议、网络研讨会、屏幕共享(请参阅“带有 Apple Silicon 芯片的 Mac”链接)
  • Chrome:谷歌浏览器——从谷歌下载快速、安全的浏览器
  • Firefox:下载速度最快的 Mac 版 Firefox
  • Safari(已安装)
  • PHPStorm:PhpStorm
  • VSCode:下载
  • Sublime Text:下载 – Sublime Text
  • 收获应用:应用商店
  • iTerm2:下载 – iTerm2 – Mac OS 终端更换
  • 1Password:适用于 macOS 和 Safari 的最佳密码管理器 | 1密码
  • Mac 版Docker 桌面:在 Mac 上安装 Docker 桌面  (“Mac with Apple Chip”链接)

我们四厨房的大多数开发人员都建议安装大部分或所有这些。

开发服务器

我们的大部分站点构建都使用 Lando 来设置本地开发环境。什么是兰多?Lando是一个免费的、开源的、跨平台的本地开发环境和基于 Docker 容器的 DevOps 工具。

这就是问题开始的地方。

Great Armification详细介绍了 Lando 团队为跟上 ARM-64 架构而做出的努力。简而言之,正如Docker 文档中所述,由于 Docker 安装的包的一些上游要求(尽管 Docker Desktop for Mac 本身已准备就绪),它已经停止。本博客将不再深入探讨蠕虫病毒。相反,我将专注于使用 Homebrew 启动和运行开发环境。

使用 Homebrew 进行包管理

Homebrew 是“macOS 缺少的包管理器”。它是一个允许您轻松安装 Linux 命令行工具和其他软件包的工具。安装 iTerm2 和其他通用应用程序后,通常是接下来安装的东西。说明在brew.sh,但它是一个简单的 curl 语句,您可以粘贴到终端中:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,您可以使用 brew 安装其他东西。通常,这采用 brew install [package] 的形式。

Brew 安装和配置

本节详细介绍了运行功能齐全的本地服务器所需的安装。Four Kitchens 有一个包含工具和配置示例的Github 存储库。我强烈建议您不要复制、粘贴或覆盖 Brew 安装的配置文件!回购仅供参考和审查。我已经注意到以下相关的明确变化。

  • 阿帕奇 & PHP
    • 有关安装 Apache 和 PHP 的完整文章,请参阅getgrav.org。 
    • 我通常只安装一个版本的 PHP;最近 7.4。
      • 如果不安装多个版本,可以跳过php版本切换脚本部分。
    • 如果您使用 Drupal 或其他一些 RAM 使用量大的应用程序进行开发,则默认内存限制可能不够接近。随意在 php.ini 文件中启动它:
      • memory_limit = 2048M
    • 请注意,在 M1 芯片 Mac 上,Homebrew 将软件包安装在与链接文档说明不同的位置。因此,可以在以下位置找到配置文件:
      • /opt/homebrew/etc/httpd/httpd.conf
      • /opt/homebrew/etc/php/[版本号]/php.ini
  • MySQL
    • 此设置使用 MariaDB 作为 MySQL 的替代品。有关安装 MariaDB 和配置 Apache 主机的完整文章,请参阅getgrav.org。
    • 我认为没有必要修改 MySQL 配置。
  • 调试
    • 这将非常有帮助。你绝对应该安装它;说明可作为我们用于 MySQL的同一教程的一部分。
    • 该 repo 包含我的 Xdebug 和 PHPStorm 配置的屏幕截图。
    • 请注意,在 M1 芯片 Mac 上,Homebrew 将软件包安装在与链接文档说明不同的位置。因此,可以在以下位置找到配置文件:
      • /opt/homebrew/etc/php/[版本号]/php.ini
      • /opt/homebrew/etc/php/[版本号]/conf.d/ext-xdebug.ini
  • DNS 路由
    • DNSMasq:我无法让 DNSMasq 在我的设置中正常工作。
    • 没有 DNSMasq,就没有什么可以将您的浏览器定向到您的本地 Web 服务器。最简单的解决方法是修改/etc/hosts。大多数方向都让你在终端中使用 nano来编辑它;我使用 BBEdit 来处理这些事情。
    • 您需要为要处理的每个虚拟主机在 hosts 文件中添加一个条目。
    • 相关配置文件位于:
      • /opt/homebrew/etc/httpd/extra/httpd-vhosts.conf
      • /etc/hosts
  • APC缓存
    • 我也跳过了安装 APC 缓存,因为这是一个开发服务器,我没有处理与 APC 相关的问题。
  • PECL YAML
    • 由于 Drupal 使用 Symfony YAML 解析,我没有安装 PECL YAML 库。
  • 作曲家
    • brew install composer
    • 请注意,这将安装 Composer 2.x。如果您的项目仍在 Composer 1.x 上,您可能会遇到 composer.lock 文件的兼容性问题。
  • 图像魔术师
    • 马蒂亚斯Geniar有一个伟大的写了上安装imagick。 
    • Homebrew 和 PECL 将安装 imagick,但也会以某种随意的方式更改您的 php.ini 文件。我将添加的行移到了一个不同的、更合理的位置,如 Github 存储库中所示。
    • 请注意,在 M1 芯片 Mac 上,Homebrew 将软件包安装在与链接文档说明不同的位置。因此,可以在以下位置找到配置文件:
      • /opt/homebrew/etc/php/[版本号]/php.ini
  • Node.js 和 NPM
    • Treehouse 安装教程解释了 Node 和 NPM 是什么,以及如何安装它们
  • 要旨
    • 这不是必需的,但它仍然是一个有用的工具。
    • 有关安装说明和配置选项,请参阅 defunkt 的 Github 。确保在安装后使用设备代码流程说明登录。
  • 终点站
    • 如果您在 Pantheon 上托管,您应该安装他们有用的命令行工具。安装请看官方说明。 
      • 确保遵循“Terminus Installer PHAR”说明。
    • 使用机器令牌指令进行身份验证。
    • 其中一些工具安装在 /usr/local/bin 中。确保此目录是 $PATH 的一部分。请参阅Grav Apache 说明中的“检查您的路径”以了解如何执行此操作。

附加工具

我在Github 存储库中包含了几个脚本来停止、启动和重新启动 Apache 和 MariaDB。我还包含了我的 .bashrc 文件的副本,其中包含一些有用的路径和其他配置,特别是在 Homebrew 位置周围。如果您将脚本放在 ~/Sites 目录中,那么 bashrc 文件中的路径应该允许您从任何目录使用它们来控制您的本地。(是的,我仍然使用 bash,而不是 zsh)。

最后,有一个包含主配置文件别名的目录。您应该能够将其复制到 Mac 并使用它们(前提是您安装了 PHP 7.4;如果您安装了不同的 PHP 版本,则需要调整 php.ini 文件别名)。

把这一切放在一起

要创建新的本地站点实例,您必须执行以下操作:

  • 创建一个新目录
  • 将代码放入目录
  • 决定一个 .local url
  • 将此目录的条目和 url 添加到 httpd-vhosts.conf
  • 将该 url 添加到指向 127.0.0.1 的 etc/hosts
  • 重启你的服务器
  • 将数据库添加到 localhost 数据库服务器

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun61618.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年7月22日 下午2:25
下一篇 2021年7月23日 上午11:42

相关推荐