✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Bash-pohjainen WordPress-kehittäjille

7

Ajoittain päädyn asentamaan ohjelmiston Composerin kautta tai sijoittamaan osan sen binaareista muihin hakemistoihin kuin tavallisiin paikkoihin, joissa macOS odottaa ne löytävän.

Toisin sanoen, jos käytät sovellusta terminaalista tai jos sovellus, jossa on GUI, odottaa olevan tietyssä paikassa levyllä, se todennäköisesti odottaa sitä jossakin viidestä paikasta:

  1. /usr/bin
  2. /bin
  3. /usr/sbin
  4. /sbin
  5. /usr/local/bin

Mutta kuten sanoin, ajan mittaan päädymme asentamaan asioita käyttämällä kolmannen osapuolen työkaluja tai päädymme asentamaan asioita, jotka sijoittavat binaarit näiden hakemistojen ulkopuolelle.

Esimerkki: Mitä tapahtuu, jos haluat asentaa WP-CLI :n maailmanlaajuisesti? Tai entä jos haluat käyttää MySQL-versiota, joka toimitetaan MAMP :n kanssa ?

Näissä tapauksissa näitä binääriä ei sisällytetä mihinkään edellä mainituista hakemistoista. Kun näin tapahtuu, sinun on muutettava profiiliasi. Jos et ole koskaan tehnyt niin, se voi olla pelottavaa. Ja siitä voi tulla sotkua, jos et tee sitä järjestelmällisesti ajan myötä.

Joten tässä on Bashista WordPress-kehittäjille tarkoitettu esittely siitä, mikä bash_profiili on ja miten voit hallita kolmannen osapuolen ohjelmistoja sen avulla.

Bash WordPress-kehittäjille

Ennen kuin aloitat polkujen asettamisen muiden ohjelmistojen ja vastaavien kohdalla, on tärkeää huomata, että sinulla ei ehkä ole bash_profile. Eli jos käytät päätettä, voit käyttää erityyppistä kuorta, ja jos näin on, olet jo paljon edellä tätä viestiä.

Jos toisaalta käytät terminaalin kuorta ilman muutoksia, joka toimitetaan macOS:n kanssa. Mutta ensin, mikä on kuori?

Laskennassa shell on käyttöliittymä käyttöjärjestelmän palveluihin pääsyä varten. Yleensä käyttöjärjestelmän kuoret käyttävät joko komentorivikäyttöliittymää (CLI) tai graafista käyttöliittymää (GUI) tietokoneen roolin ja tietyn toiminnon mukaan.

Ja jos käytät Terminalia ilman muutoksia, käytät todennäköisesti Bashia.

Lopuksi kaikki asetukset jokaiselle päätteen käynnistämiselle tallennetaan komentotulkin asiaankuuluvaan profiilitiedostoon. Tässä tapauksessa kaikki on tallennettu .bash_profile -tiedostoon.

Jotta kaikki saadaan asetettua juuri niin kuin tarvitsemme, meidän on tehtävä joitain muutoksia (tai jopa alustettava se), jotta asiat etenevät.

Huomaa , että jokaisen .bash_profile -tiedoston muutoksen jälkeen saatat haluta suorittaa:

$ source ~/.bash_profile

Joten kaikki käyttöön otetut uudet muutokset ladataan nykyistä pääteistuntoa varten.

Alkuperäinen profiili

Aina kun määritän alkuperäisen profiilini, se näyttää aina samalta. Tämä tarkoittaa, että se sisältää viisi yllä lueteltuani hakemistoa :

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" export PATH

Huomaat  kuitenkin, että PATH –  muuttujan lopussa on jotain, joka näyttää toiselta muuttujalta. Tarkemmin sanottuna puhun $PATHista. Ja tämä on tärkeää ymmärtää, koska se vaikuttaa siihen, miten ohjelmat löytyvät päätteestä.

Mikä on $PATH?

Ajattele ensin, että se oli komentotulkin tai käyttöjärjestelmän tapa etsiä binaaritiedostoja. Joten jos sinulla on kaikki viisi yllä olevaa polkua, käyttöjärjestelmä etsii näistä hakemistoista tiettyjä binaareja.

Bash-pohjainen WordPress-kehittäjille

Kokeile sitä käynnistämällä terminaali ja kirjoittamalla:

$ which clear

Ja tämä näyttää sinulle, mistä se löytää selkeän suoritettavan tiedoston järjestelmästäsi (jos clear pyyhkii vain päätteen näytön 🙂).

Huomaa seuraavaksi, että $PATH  on määritelty yllä olevassa esimerkissä merkkijonon lopussa. Kun muokkaat profiiliasi, haluat työskennellä sen kanssa. Lyhyesti sanottuna se määrittää järjestyksen, jossa hakemistoja tulee etsiä.

Yllä olevassa sisällössä pääte aikoo etsiä binääriä, joka vastaa sitä, mitä aiot suorittaa, alkaen /usr/bin ja päättyen /usr/local/bin.

Mitä "vienti" tarkoittaa?

Jos et käytä Bashia, en voi kommentoida vastaavaa, mutta Bashin kontekstissa vienti on tapa nimenomaisesti määrittää arvo yllä olevassa sisällössä määritellylle PATH -muuttujalle.

Eli ohjelmoinnissa käytetään muuttujan luomiseen ja sille arvon määrittämiseen. Tämä on samanlainen kuin se. Olemme kuitenkin hieman selkeämpiä. Yksinkertaisesti sanottuna asetamme vasemman puolen muuttujan oikean puolen arvoksi. Ja tämä asetetaan käyttämällä vientiä.

Joten jos haluat nähdä mitä $PATH sisältää, kirjoita tämä terminaaliin:

$ echo $PATH

Sitten näet viiden tähän mennessä määritellyn polun arvon.

Bash-pohjainen WordPress-kehittäjille

Ajan myötä haluamme kuitenkin luonnollisesti lisätä tähän lisää.

Säveltäjäpaketit

Olen puhunut Composerin asentamisesta ja pakettien asentamisesta sen avulla aiemmissa viesteissä maailmanlaajuisesti. Mutta sanotaan, että argumentin vuoksi haluamme asentaa WP-CLI:n ja sitten lisätä sen siten, että sitä voidaan käyttää päätelaitteen kautta missä tahansa järjestelmässämme. Ja tämä kaikki voidaan tehdä käyttämällä yllä olevia profiilitietoja.

Olettaen, että olet asentanut säveltäjän ja composer.json-tiedostosi näyttää tältä (sekä muutamien muiden asioiden kanssa, mutta jätä ne huomiotta toistaiseksi):

{ "require": { "squizlabs/php_codesniffer": "2.9.1", "wp-cli/wp-cli": "~1.2.1", "psy/psysh": "~0.8.6" } }

Ja sinä juoksit:

$ composer update

Sitten WP-CLI on asennettu. Mutta kun yrität suorittaa sen asennushakemiston ulkopuolella olevasta päätteestä, se ei toimi. Mitä siis antaa?

Bash-pohjainen WordPress-kehittäjille

Polkua säveltäjän kautta asennettuihin binaareihin ei ole asetettu .bash_profile -tiedostossamme. Voit korjata tämän lisäämällä uuden rivin .bash_profile -tiedostoon, mutta varmista, että et määritä uudelleen jotain jo olemassa olevaa.

Koska PATH on olemassa, voimme vain asettaa $PATH uuden rivimme loppuun ja liittää siihen Composer-hakemistomme. Tällä tavalla emme kopioi hakemistoja tai muuttujan arvoja aina, kun viemme niitä, ja asetamme haettavien hakemistojen prioriteetin.

Esimerkiksi :

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" PATH="$HOME/.composer/vendor/bin:$PATH" export PATH

Sitten, kun yrität ajaa wp :tä mistä tahansa komentorivillä, sen pitäisi toimia ja sinun pitäisi pystyä kirjoittamaan:

$ which wp

Ja katso, että se tulee säveltäjä/toimittaja/bin hakemistosta. Oh – ja huomaa, että $HOME on muuttuja, joka viittaa nykyisen käyttäjän kotihakemistoon. Tätä voidaan muuttaa, mutta se ei kuulu tämän viestin piiriin.

MAMP-ohjelmisto

Tässä vaiheessa PHP:n, MySQL:n tai minkä tahansa valitsemasi kielen ja työkalun versio muuttuu. Olen antanut joitain erilaisia ​​viestejä MAMPin ympärille (1, 2, 3 ), joten päätän käyttää esimerkkiä.

Tarkemmin sanottuna haluan käyttää MAMP:n PHP- ja MySQL-versiota – en järjestelmän mukana toimitettua versiota. Mutta tässä vaiheessa voit ajaa:

$ which php

Ja:

$ which mysql

Ja katso, ne molemmat tulevat järjestelmähakemistoista. Tämä on muutettava niin, että komentorivikäyttömme käyttää samaa ohjelmistoversiota, jota sovelluksemme käyttää.

Voit tehdä tämän lisäämällä seuraavat rivit .bash_profile -tiedostoomme :

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" PATH="$PATH:$HOME/.composer/vendor/bin" PATH="/Applications/MAMP/bin/php/php7.1.0/bin:$PATH" export PATH

Tässä on kuitenkin jotain tuotavaa: olen sijoittanut MAMP:n PHP-binaarihakemiston ennen $PATH -arvoja. Tämä johtuu siitä, että haluan järjestelmän katsovan ensin täältä (ei järjestelmähakemistoista).

On kuitenkin toinen haaste. MAMP toimitetaan useiden eri PHP-versioiden kanssa, ja todennäköisyys, että haluamme käyttää samaa versiota joka kerta, on pieni. Tarvitsemme siis tavan käyttää mitä tahansa MAMPissa valittua versiota, eikö niin?

Yksi tapa tehdä tämä on käyttää aliasta.

Entä aliakset?

Voit ajatella aliaksia pikanäppäimenä – se on nopea tapa suorittaa tietty komento tai ohjelma ilman, että sinun tarvitsee kirjoittaa ohjelman täydellistä nimeä.

MAMP:n ja PHP:n tapauksessa voimme käyttää joitain PHP-versioita. Tätä kirjoittaessani minulla on:

  • 5.4.45
  • 5.5.38
  • 5.6.28
  • 7.0.13
  • 7.1.0

Kaikki saatavilla järjestelmässäni. En todennäköisesti halua käyttää niitä kaikkia (enkä niitä kaikkia ole $PATH :ssani ), mutta saattaa olla mahdollisuus, että haluan suorittaa aiemman PHP-version testatakseni jotain tiettyä.

Joten miten voimme tehdä sen? Voimme käyttää aliaksia. Ja jos siirryt osoitteeseen /Applications/MAMP/bin/php , sinun pitäisi nähdä kaikki PHP-versiot, jotka sisältyvät MAMP-versioosi.

Bash-pohjainen WordPress-kehittäjille

Nyt määritämme aliakset jokaiselle näistä:

## Aliases to old versions of PHP. alias php54="/Applications/MAMP/bin/php/php5.4.45/bin/php" alias php55="/Applications/MAMP/bin/php/php5.5.38/bin/php" alias php56="/Applications/MAMP/bin/php/php5.6.28/bin/php" alias php70="/Applications/MAMP/bin/php/php7.0.13/bin/php"

Ja voimme ajaa niitä toisistaan ​​riippumatta terminaalissa suorittamalla komennon, kuten:

$ php54 -v

Tämän pitäisi näyttää, mitä PHP-versiota suoritetaan .bash_profile -tiedostossa määrittämäsi aliaksen perusteella .

Ja lopuksi, huomaa viimeisessä sisällössä, että näet rivin, joka on lisätty tiedostoon .bash_profile :

source ~/.profile

Järjestelmä tekee tämän automaattisesti, kun alat työskennellä interaktiivisen kuoren kanssa. Voit poistaa sen, mutta se lisätään uudelleen tiedoston yläosaan, joten älä turhaan.

Ja viitteeksi lopullinen .bash_profile -versioni näyttää tältä :

source ~/.profile PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" # The standard system binaries PATH="$HOME/.composer/vendor/bin:$PATH" # Composer binaries PATH="/Applications/MAMP/bin/php/php7.1.0/bin:$PATH" # MAMP's PHP7 loaded first PATH="/Applications/MAMP/Library/bin:$PATH" # MAMP's MySQL loaded first ## Aliases to old versions of PHP. alias php54="/Applications/MAMP/bin/php/php5.4.45/bin/php" alias php55="/Applications/MAMP/bin/php/php5.5.38/bin/php" alias php56="/Applications/MAMP/bin/php/php5.6.28/bin/php" alias php70="/Applications/MAMP/bin/php/php7.0.13/bin/php" export PATH

Huomaat, että olen myös lisännyt MySQL- ja MySQLAdmin-rivit juuri aliaksia määrittävän rivin yläpuolelle (vaikka sinun omasi näyttää todennäköisesti erilaiselta).

Tästä huolimatta tämä on yleinen ajatus, vaikka omasi näyttää todennäköisesti erilaiselta.

Advanced Bash

Jotkut ihmiset ovat paljon edistyneempiä Bashissa kuin minä (ja jopa muiden sivustojen selaaminen joidenkin ihmisten tekemien asioiden ympärillä voi olla vaikuttavaa).

Mutta jos olet WordPress-kehittäjä, jolla ei ole juurikaan tai ei ollenkaan tietoa Bashista, komentorivityökaluista, polkujen asettamisesta ja niin edelleen, tämän pitäisi olla toimiva referenssi ja kunnollinen lähtökohta.

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja