Namestitev se konča, brew pravi, da je openvpn tam, lupina pa odgovori command not found. Binarna datoteka obstaja, le v mapi je, o kateri lupini nikoli ni bilo povedano. Homebrew poveže binarne datoteke v slogu demonov v mapo sbin predpone, privzeti PATH v macOS pa običajno vsebuje mapo bin in ne mape sbin. Nič ni pokvarjeno in nobena ponovna namestitev tega ne bo spremenila.

Štiri preverjanja potrdijo mehanizem, preden uredite katero koli datoteko lupine.

Kaj formula dejansko namesti

Formula openvpn zgradi demon ukazne vrstice, zato njen izvršljivi file pristane pod sbin in ne pod bin. Homebrew nato to binarno datoteko poveže v mapo sbin predpone, zato "$(brew --prefix)/sbin/openvpn" --version deluje, medtem ko goli klic ne. Verzionirana mapa Cellar hrani tudi kopijo, in vpis te poti v zagonsko datoteko je način, kako stroj po nadgradnji ostane pripet na staro gradnjo.

Simbolična povezava predpone je stabilna pot. Pot v Cellarju je podrobnost izvedbe s številko različice v sebi.

Vprašajte Homebrew, ne datotečnega sistema

Začnite pri upravitelju paketov, ker ta ve, katera namestitev ima formulo: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. Če zadnji izpiše pot, je formula prisotna in vprašanje je samo o razreševanju. Če ne izpiše ničesar, lupina išče na napačnem mestu paket, ki ni bil nikoli nameščen, in to je druga težava z drugo rešitvijo.

Dve namestitvi Homebrew na enem stroju je mesto, kjer je to najpomembneje: brew, ki odgovarja, ni nujno brew, ki je namestil.

Zakaj lupina ne vidi sbin

Prijavna lupina zgradi PATH iz sistemskih privzetih vrednosti in vsega, kar dodajo vaše zagonske datoteke. Homebrew bin se običajno doda, Homebrew sbin pa običajno ne, zato vsak ukaz deluje razen demonov. command -v openvpn, ki ne vrne ničesar, medtem ko pot s predpono vrne različico, je cela diagnoza v dveh ukazih. Potrdite, da mapa res vsebuje povezavo, z ls -l "$(brew --prefix)/sbin/openvpn".

Manjkajoča povezava je druga okvara kot manjkajoč vnos PATH, in le eno od tega odpravi urejanje datoteke lupine.

Popravite pot enkrat, na enem mestu

Za hitro preverjanje v trenutni lupini eval "$(brew shellenv)" nastavi namestitvene spremenljivke in oba imenika postavi naprej. Za trajno ureditev vstavite vrstico shellenv v edino zagonsko datoteko, ki jo vaša lupina bere za način prijave, ki ga uporabljate, namesto da izvoze raztresate po datotekah bash in zsh.

Nato odprite nov terminal in ponovite poizvedbo različice, ker predpomnjena lupina še naprej poroča stari PATH.

Odkrivanje imejte ločeno od storitve

Najti binarno datoteko ni isto kot poganjati storitev VPN. Samodejni zagon openvpn doda zahteve glede profila, poverilnic, pravic in življenjskega cikla, ki se jih odkrivanje paketov ni nikoli dotaknilo. Tunnelblick prinese tudi svoj pogon, zato različica, ki ste jo pravkar izpisali, morda nima nič skupnega z različico, ki jo uporablja aplikacija.

Zapišite, katera izvršljiva datoteka je ustvarila izpis različice. Ta ena vrstica prihrani uro, ko se naslednjič dve različici ne ujemata.

Sorodni članki