Valet 4.0 发布
发布时间 作者 Matt Stauffer
Valet 4 正式发布!让我们来看看 v4 提供了什么以及如何今天升级您的本地安装。
背景
Valet 最初是在 2016 年 5 月与 这段精彩的视频 一起介绍的。Valet v2 不久后发布,带来了从 Caddy 到 Nginx 的迁移。但此后,Valet 的开发速度放缓;正如 Taylor 经常指出的那样,“在那时,Valet 的功能已经很完整了。”
然而,几年前我接手 Valet 的维护时,我注意到两件事:首先,许多人需要为他们的不同站点使用不同的 PHP 版本;其次,多年来解决的各种功能和错误修复使得代码库有时难以理解。
Valet v3 发布 于 2022 年 3 月,其主要重点是添加对同一台机器上并行运行多个 PHP 版本的支持。
现在,我们来看看 Valet v4。
Valet 4 的新功能
Valet 4 中最重要的变化是您从外部甚至无法看到的:项目的内部结构已被重新设计并经过大量测试。明确地说,它们已被重新设计回Taylor 和 Adam 最初代码的简单风格。但它们现在涵盖了所有形式的单元和集成测试,并且自 Valet 2 以来所做的更改现在得到了更好的集成。
这意味着什么?
Valet 4 是迄今为止最稳定、最易于调试和最易于修复的 Valet 版本。
Valet 4 中的新功能
有一些面向用户的新的功能
-
valet status
命令:如果您运行valet status
,您将获得一个表格,显示您 Valet 应用程序的一些重要方面的“运行状况”。这很有用,因为您可以在调试时使用它,但与任何优秀的 CLI 工具一样,它还将返回成功或失败的代码,其他 CLI 工具可以使用这些代码。 - 对 ngrok 的升级:如果您使用 ngrok 共享您的站点,旧版本的 Valet 将 ngrok 捆绑为安装。现在,Valet 会提示您通过 Homebrew 安装 ngrok,允许您安装一个通用的版本,并允许您根据需要保持更新。
-
公开为共享选项:如果您使用 Expose 共享您的站点,它现在已集成到 Valet 中!运行
valet share-tool expose
,如果您没有安装 Expose,它会提示您安装它。一旦您 设置您的 Expose 令牌,您就可以使用您熟悉的valet share
命令进行共享。
升级说明
如果您要从 Valet 3 升级,这是我推荐的升级方式
- 编辑您的
~/.composer/composer.json
文件并将您的 Valet 需求更新为"^4.0"
- 更新:
composer global update laravel/valet
- 运行
valet install
确保您运行 valet install
,因为它将检查您系统的兼容性并为您升级一些配置文件。
自定义驱动程序
如果您有任何自定义驱动程序,您需要将它们更新以匹配 新语法(基本上,驱动程序现在是命名空间的,并且具有类型提示和返回类型)。
.valetphprc
如果您使用 .valetphprc
来定义您站点的 PHP 版本,您需要将这些文件重命名为 .valetrc
并更改它们的内容;.valetphprc
文件只包含一个 PHP Brew 公式(例如 [email protected]
),但新的 .valetrc
文件是更广泛的配置文件,因此您需要在公式前面加上 php=
。
因此,如果您的项目有此 .valetphprc
文件
您需要将其重命名为 .valetrc
并将其内容更新为以下内容
向后兼容性:PHP 7.1-7.4
Valet 4 需要通过 Homebrew 在您的系统上安装 PHP 8.0+。正如我已经提到的,您可以使用 Valet 的隔离功能将各个站点设置为使用旧版本的 PHP,回溯到 7.1。
但是,如果您有理由需要将 PHP 7.1-7.4 作为您的主要链接 PHP(这意味着如果您只键入 php -v
您会看到 7.1 到 8.0 之间的内容),您可以这样做!只要确保您在机器上安装了现代版本的 PHP,Valet 将使用该版本运行其内部命令。
但是,快速警告:如果您使用 Valet 4 并且您的主要链接的 PHP 版本低于 PHP 8,那么您所有的本地 Valet CLI 命令将运行得稍微慢一些,因为它们必须找到您的现代 PHP 安装并通过它代理它们的调用。
未来
就这样!Valet 4 的主要目标是稳定性,但它也为未来打开了更多选择。首先,.valetrc
文件比 .valetphprc
更强大,我们可以让它更加可配置。其次,我放弃了一个名为 Extensions
的概念,该概念基本上完全没有使用,希望在不久的将来构建一个插件系统。
如果您在 Twitter 上关注我重建 Valet v4 的旅程,您可能已经看到我尝试让它在 Linux 上运行。遗憾的是,那并不成功,但我仍然梦想着有一天再次尝试它。没有承诺……但它仍然是一个梦想!
我希望你们都喜欢 Valet 4。享受吧!