W przypadku rozwoju Laravel często wpisujemy polecenia, takie jak ./vendor/bin/pest
uruchamianie poleceń specyficznych dla projektu.
Nie musimy!
Aby pomóc tutaj, możemy zaktualizować naszą zmienną
Mac (lub Linux). $PATH
Co to $PATH
jest ?
Zmienna $PATH
ustawia katalogi, których system szuka podczas znajdowania poleceń do uruchomienia.
Na przykład, możemy wpisaćwhich <cmd>
, aby znaleźć ścieżkę do dowolnego polecenia:Mój system wiedział, że znaleźć git
w,
$ which git
/usr/local/bin/git
ponieważ /usr/local/bin
jest jeden katalog ustawiony w /usr/local/bin
moim $PATH
!
echo
Możesz teraz wytyczyć swoją ścieżkę:Katalogi względne w PATH
# Output the whole path
echo $PATH
# For human-readability, split out each
# directory into a new line:
echo "$PATH" | tr ':' '\n'
Możemy edytować naszą $PATH
zmienną,
aby dodać ją w dowolnych katalogach!
Jedną z niezwykle przydatnych sztuczek jest ustawienie względnych katalogów w zmiennej$PATH
.
Dwa przykłady to dodawanie ./vendor/bin
i ./node_modules/.bin
:
# In your ~/.zshrc, ~/.bashrc or, ~/.bash_profile or similar
# Each directory is separated by a colon
PATH=./vendor/bin:./node_modules/.bin:$PATH
Tutaj poprzedziliśmy nasze dwie nowe ścieżki do istniejącej $PATH
zmiennej. Teraz, bez względu na to, w jakiej aplikacji Laravel się cd
znajdujemy, możemy uruchomić i wiedzieć, że uruchamiamy ./vendor/bin/pest
, phpunit
aby uruchomić ./vendor/bin/phpunit
pest
(i to samo dla każdego polecenia Node w ).
./node_modules/.bin
Możemy również ustawić bieżący katalog .
w naszym $PATH
(jeśli nie jest jeszcze ustawiony - może być):
# In your ~/.zshrc, ~/.bashrc or, ~/.bash_profile or similar
# Each directory is separated by a colon
# Here we also set the current directory in our PATH
PATH=.:./vendor/bin:./node_modules/.bin:$PATH
W ten sposób możemy wpisać artisan
zamiast ./artisan
lub php artisan
.
Są to ustawienia, które mam w Chipper CI, dzięki czemu użytkownicy mogą uruchamiać pest
lub phpunit
bez martwienia się o to, gdzie polecenie istnieje w ich środowiskach CI.
Kolejność notatek
ma również znaczenie w $PATH
. Podczas wyszukiwania polecenia najpierw przeszukiwane są wcześniejsze katalogi. System użyje pierwszego znalezionego polecenia - oznacza to, że możesz nadpisać polecenie systemowe, umieszczając je w katalogu wcześniej w $PATH
formacie . Dlatego przygotowujemy ./vendor/bin
./node_modules/.bin
i dołączamy, a nie dołączamy$PATH
.
Możesz znaleźć wszystkie lokalizacje polecenia w następujący sposób:
$ which -a git
git is /usr/local/bin/git
git is /usr/bin/git
git is /usr/local/bin/git
git is /usr/bin/git
Wreszcie, we wszystkich przypadkach tutaj polecenia powinny mieć uprawnienia wykonywalne, aby działać w ten sposób. Należy o tym pamiętać podczas tworzenia własnych poleceń, takich jak niestandardowy skrypt bash.