Better PHP dev-env init (#624)
* Extract logic to avoid adding composer in the path multiple times and add Symfony * Add missing usage * Use the official script to install Symfony installer * Use AUR package * Move PHP and Composer install in function to avoid duplication. * Add explicit usage for symfony-cli --------- Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
parent
1d2fe96916
commit
4b6e8962ca
@ -1,10 +1,22 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ -z "$1" ]]; then
|
if [[ -z "$1" ]]; then
|
||||||
echo "Usage: omarchy-instal-dev-env <ruby|node|bun|go|laravel|python|elixir|rust|java|ocaml|dotnet>" >&2
|
echo "Usage: omarchy-instal-dev-env <ruby|node|bun|go|laravel|symfony|python|elixir|rust|java|ocaml|dotnet>" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
install_php() {
|
||||||
|
yay -Sy php composer --noconfirm
|
||||||
|
|
||||||
|
if [[ ":$PATH:" != *":$HOME/.config/composer/vendor/bin:"* ]]; then
|
||||||
|
echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> "$HOME/.bashrc"
|
||||||
|
source "$HOME/.bashrc"
|
||||||
|
echo "Added Composer global bin directory to PATH."
|
||||||
|
else
|
||||||
|
echo "Composer global bin directory already in PATH."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
ruby)
|
ruby)
|
||||||
echo -e "Installing Ruby on Rails...\n"
|
echo -e "Installing Ruby on Rails...\n"
|
||||||
@ -30,13 +42,21 @@ go)
|
|||||||
;;
|
;;
|
||||||
laravel)
|
laravel)
|
||||||
echo -e "Installing PHP and Laravel...\n"
|
echo -e "Installing PHP and Laravel...\n"
|
||||||
yay -S php composer --noconfirm
|
install_php
|
||||||
composer global require laravel/installer
|
composer global require laravel/installer
|
||||||
echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >>"$HOME/.bashrc"
|
|
||||||
source "$HOME/.bashrc"
|
|
||||||
echo "PHP, Composer, and Laravel have been installed successfully."
|
echo "PHP, Composer, and Laravel have been installed successfully."
|
||||||
echo "You can now run: laravel new myproject"
|
echo "You can now run: laravel new myproject"
|
||||||
;;
|
;;
|
||||||
|
symfony)
|
||||||
|
echo -e "Installing PHP and Symfony...\n"
|
||||||
|
install_php
|
||||||
|
yay -S symfony-cli --noconfirm
|
||||||
|
echo "PHP, Composer, and Symfony CLI have been installed successfully."
|
||||||
|
echo "If you are building a traditional web application:"
|
||||||
|
echo "symfony new --webapp my_project"
|
||||||
|
echo "If you are building a microservice, console application or API:"
|
||||||
|
echo "symfony new my_project"
|
||||||
|
;;
|
||||||
python)
|
python)
|
||||||
echo -e "Installing Python...\n"
|
echo -e "Installing Python...\n"
|
||||||
mise use --global python@latest
|
mise use --global python@latest
|
||||||
|
Loading…
x
Reference in New Issue
Block a user