tightenco / lambo
基于 Laravel 和 Valet 的超级强大的 'laravel new'。
Requires
- php: ^8.0
- ext-intl: *
- ext-json: *
- ext-pdo: *
Requires (Dev)
- laravel-zero/framework: ^10.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0
- spatie/laravel-ray: ^1.17
- tightenco/duster: ^v0.3
- dev-main
- v3.1.1
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- 2.0.1
- v2.0.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- v1.0.0-rc.1
- v1.0.0beta5
- v1.0.0beta4
- v1.0.0beta3
- v1.0.0beta2
- v1.0.0beta1
- v1.0.0-alpha5
- v1.0.0-alpha4
- v1.0.0-alpha3
- v1.0.0-alpha2
- v1.0.0-alpha1
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-mes/presets
- dev-pre-php
- dev-am/laravel-zero-implementation
- dev-lampho
- dev-pr/32
This package is auto-updated.
Last update: 2024-09-08 05:43:58 UTC
README
为 Laravel 和 Valet 提供超级强大的 laravel new
Lambo 是一款命令行工具,它替换了 Laravel 安装程序,并封装了在创建 Laravel 应用时可能执行的最常见任务:在您的编辑器和浏览器中打开它,初始化 Git 仓库,调整您的 .env
和 .env.example
,等等。
要求
- PHP 7.3+
- (可选,但有益) Laravel Valet
安装
composer global require tightenco/lambo:^3.0
升级
composer global update tightenco/lambo
使用
确保 ~/.composer/vendor/bin
在您的终端路径中。
cd ~/Sites lambo new myNextProject
它具体做了什么?
laravel new $PROJECTNAME
- 初始化 Git 仓库,添加所有文件,然后在以下更改之后,提交文本 "Initial commit"。
- 将
.env
(和.env.example
) 的数据库凭据替换为默认的 macOS MySQL 凭据:数据库为$PROJECTNAME
,用户root
,密码为空。 - 将
.env
(和.env.example
) 的APP_URL
替换为$PROJECTNAME.$YOURVALETTLD
- 生成应用程序密钥
- 在您的首选编辑器中打开项目
- 在浏览器中打开
$PROJECTNAME.$YOURVALETTLD
注意:如果您的
$PROJECTNAME
包含连字符 (-
),它们将在数据库名称中替换为下划线 (_
)。
还有基于您传递的参数(或在您的配置文件中定义的)的几个可选行为,包括创建数据库、迁移、安装 Jetstream、运行 Valet Link 和/或 Secure,以及运行您定义的自定义 bash 脚本。
自定义 Lambo
虽然 Lambo 提供的默认操作很棒,但大多数用户可能想要至少自定义几个步骤。幸运的是,Lambo 是为了可定制而构建的!
有三种方式可以自定义您对 Lambo 的使用:命令行参数、配置文件和 "after" 文件。
大多数用户可能希望设置一次他们的首选配置选项,然后不再考虑它。这最好通过创建一个配置文件来解决。
但是,如果您发现自己在项目间需要改变与 Lambo 交互的方式,您也可能希望使用命令行参数在您使用 Lambo 时自定义它。
创建配置文件
您可以在 ~/.lambo/config
创建一个配置文件,而不是每次创建新项目时都传递相同的参数。
以下命令创建文件(如果不存在),并编辑它
lambo edit-config
配置文件包含您可以自定义的配置参数,并将在每次使用 Lambo 时读取。
创建 "after" 文件
您还可以在 ~/.lambo/after
创建一个 "after" 文件,以便在创建新项目后运行额外的命令。
以下命令创建文件(如果不存在),并编辑它
lambo edit-after
after 文件被解释为 bash 脚本,因此您可以在此包含任何命令,例如安装额外的 composer 依赖项...
# Install additional composer dependencies as you would from the command line. echo "Installing Composer Dependencies" composer require tightenco/mailthief tightenco/quicksand
...或将额外的文件复制到您的新的项目中。
# To copy standard files to new lambo project place them in ~/.lambo/includes directory. echo "Copying Include Files" cp -R ~/.lambo/includes/ $PROJECTPATH
您还可以访问来自您的配置文件中的变量,如 $PROJECTPATH
和 $CODEEDITOR
。
使用命令行参数
传递的任何命令行参数都将覆盖 Lambo 的默认设置和您的配置设置。请参阅 可以传递的参数的完整列表。
Lambo 命令
help
或help-screen
显示帮助屏幕
-
edit-config
编辑你的配置文件(如果不存在则创建一个)lambo edit-config
-
edit-after
编辑你的 "after" 文件(如果不存在则创建一个)lambo edit-after
可配置参数
每次使用 Lambo 时,你可以选择性地传递这些参数之一或多个。如果你发现自己每次运行 Lambo 都想配置这些设置,那么使用 配置文件 是一个完美的选择。
-
-e
或--editor
用于定义你的编辑器命令。这里传递的内容将在创建项目后作为$EDITOR .
运行。# runs "subl ." in the project directory after creating the project lambo new superApplication --editor=subl
-
-p
或--path
用于指定应用程序的安装位置。lambo new superApplication --path=~/Sites
-
-m
或--message
用于设置第一次 Git 提交信息。lambo new superApplication --message="This lambo runs fast!"
-
-f
或--force
用于强制安装,即使目录已存在。# Creates a new Laravel application after deleting ~/Sites/superApplication lambo new superApplication --force
-
-d
或--dev
用于选择develop
分支而不是master
,获取测试安装。lambo new superApplication --dev
-
-b
或--browser
用于定义你希望在哪个浏览器中打开项目。lambo new superApplication --browser="/Applications/Google Chrome Canary.app"
-
-l
或--link
用于创建指向项目目录的 Valet 链接。lambo new superApplication --link
-
-s
或--secure
用于使用 https 保障 Valet 网站。lambo new superApplication --secure
-
--create-db
用于创建一个新的 MySQL 数据库,其名称与你的项目相同。这需要在你的系统上可用mysql
命令。lambo new superApplication --create-db
-
--migrate-db
用于迁移数据库。lambo new superApplication --migrate-db
-
--dbuser
用于指定数据库用户名。lambo new superApplication --dbuser=USER
-
--dbpassword
用于指定数据库密码。lambo new superApplication --dbpassword=SECRET
-
--dbhost
用于指定数据库主机。lambo new superApplication --dbhost=127.0.0.1
-
--breeze=STACK
用于使用 Laravel Breeze 快速入门工具包。STACK
可以是blade
、vue
或react
。lambo new superApplication --breeze=blade lambo new superApplication --breeze=vue lambo new superApplication --breeze=react
-
--jetstream=STACK[,teams]
用于使用 Laravel Jetstream 快速入门工具包。STACK
可以是inertia
或livewire
。lambo new superApplication --jetstream=inertia lambo new superApplication --jetstream=inertia,teams lambo new superApplication --jetstream=livewire lambo new superApplication --jetstream=livewire,teams
-
--full
用于使用--create-db
、--migrate-db
、--link
和-secure
。lambo new superApplication --full
GitHub 仓库创建
重要:要创建新的仓库,Lambo 需要安装以下工具之一
- 官方的 GitHub 命令行工具
- 的 hub 命令行工具
Lambo 会给你选择不创建 GitHub 仓库的选项,如果这两个工具都没有安装。
-g
或--github
用于初始化新的私有 GitHub 仓库并将你的新项目推送到它。
# Repository created at https://github.com/<your_github_username>/superApplication
lambo new superApplication --github
- 使用
--gh-public
与--github
将新的 GitHub 仓库设置为公开。
lambo new superApplication --github --gh-public
- 使用
--gh-description
与--github
初始化新的 GitHub 仓库并添加描述。
lambo new superApplication --github --gh-description='My super application'
- 使用
--gh-homepage
与--github
初始化新的 GitHub 仓库并添加主页 URL。
lambo new superApplication --github --gh-homepage=https://example.com
- 使用
--gh-org
与--github
初始化新的 GitHub 仓库并添加指定的组织。
# Repository created at https://github.com/acme/superApplication
lambo new superApplication --github --gh-org=acme
对于贡献者
发布流程
如果你在与我们合作,并被分配推送发布,以下是最简单的流程
-
访问 Lambo 发布页面;确定你的下一个标签将是什么(如果是补丁或修复,则增加第三个数字;如果是添加功能,则增加第二个数字)
-
在你的本地机器上,拉取最新的
main
版本(git checkout main && git pull
) -
为你要针对的版本构建(
./lambo app:build
) -
运行构建一次以确保其正常工作(
./builds/lambo
) -
提交你的构建并将其推送到服务器
-
起草新的发布,包含你的标签版本和发布标题(例如
v1.5.1
) -
将正文设置为带项目符号的列表,为每个合并的PR提供简单的描述,并在末尾用括号标出PR链接。例如
- 添加超级能力 (#92)
-
点击
发布版本
-
盈利
未来开发说明
- 所有新的配置键必须添加到
UpgradeSavedConfiguration
中的$newConfiguration
属性 - 所有已删除或已弃用的配置键必须添加到
UpgradeSavedConfiguration
中的$removedConfigurationKeys
属性 - 每次修改配置键时,都需要将
UpgradeSavedConfiguration
中的$configurationVersion
属性增加