Apple 的新 M1 芯片,也称为 Apple Silicon,与上一代相比,它运行在不同的架构(称为 ARM-64)上。虽然他们提供了一个仿真层,但一些工具还没有准备好。重要的是,Lando 和 Docker 中存在我们需要的上游依赖项,这些依赖项在仿真层中根本不可行。本博客提供了在不使用这些工具的情况下运行开发环境的步骤。
应用
大多数已编译的商用或开源应用程序现在都运行良好,无论是通过开发人员的更新,还是通过 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 计算机上运行我的 Adobe 应用程序?有关 Adobe 产品套件的更多信息。
下载链接
- 松弛: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 说明中的“检查您的路径”以了解如何执行此操作。
- 如果您在 Pantheon 上托管,您应该安装他们有用的命令行工具。安装请看官方说明。
附加工具
我在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