Homebrew sit die OpenVPN-binêre in sbin, nie in jou PATH nie
Die formule installeer die OpenVPN-daemon onder sbin, wat 'n standaard macOS-PATH nie insluit nie. Bevestig die voorvoegsel en herstel dan die oplossing in een lêer.
Die installasie voltooi, brew sê openvpn is daar, en die dop antwoord command not found. Die binêre bestaan; dit sit in 'n gids waarvan die dop nooit vertel is nie. Homebrew skakel daemon-agtige binêre lêers in die voorvoegsel se sbin-gids in, en 'n standaard macOS-PATH sluit gewoonlik die bin-gids in en nie die sbin-gids nie. Niks is stukkend nie, en geen herinstallasie sal dit verander nie.
Vier kontroles bevestig die meganisme voordat jy enige dop-lêer wysig.
Wat die formule werklik installeer
Die openvpn-formule bou 'n opdragreël-daemon, so die uitvoerbare lêer beland onder sbin eerder as bin. Homebrew skakel dan daardie binêre lêer in die voorvoegsel se sbin-gids in, en daarom werk "$(brew --prefix)/sbin/openvpn" --version terwyl 'n kaal aanroep nie werk nie. Die weergawe-genommerde Cellar-gids hou ook 'n kopie, en deur daardie pad in 'n opstartlêer te sit, bly 'n masjien na 'n opgradering aan 'n ou bou vasgepen.
Die voorvoegsel-skakel is die stabiele pad. Die Cellar-pad is 'n implementeringsbesonderheid met 'n weergawenommer in.
Vra Homebrew, nie die lêerstelsel nie
Begin by die pakketbestuurder, want dit weet watter installasie die formule besit: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. As die laaste een 'n pad druk, is die formule teenwoordig en gaan die vraag bloot oor oplossing. As dit niks druk nie, soek die dop op die verkeerde plek na 'n pakket wat nooit geïnstalleer is nie, en dit is 'n ander probleem met 'n ander oplossing.
Twee Homebrew-installasies op een masjien is waar dit die meeste saak maak: die brew wat antwoord is nie noodwendig die brew wat geïnstalleer het nie.
Waarom die dop sbin nie kan sien nie
'n Aanmelddop bou PATH uit stelselverstellings plus alles wat jou opstartlêers byvoeg. Homebrew se bin word gewoonlik bygevoeg en Homebrew se sbin gewoonlik nie, so elke opdrag werk behalwe die daemons. command -v openvpn wat niks teruggee terwyl die pad met voorvoegsel 'n weergawe teruggee, is die hele diagnose in twee opdragte. Bevestig dat die gids werklik die skakel bevat met ls -l "$(brew --prefix)/sbin/openvpn".
'n Ontbrekende skakel is 'n ander fout as 'n ontbrekende PATH-inskrywing, en net een van hulle word deur die wysiging van 'n dop-lêer reggemaak.
Maak die pad een keer reg, op een plek
Vir 'n vinnige toets in die huidige dop stel eval "$(brew shellenv)" die installasieveranderlikes en sit albei gidse vooraan. Vir 'n permanente reëling, plaas die shellenv-reël in die een opstartlêer wat jou dop vir die aanmeldmodus lees wat jy gebruik, eerder as om uitvoer oor bash- en zsh-lêers te strooi.
Maak dan 'n nuwe terminaal oop en herhaal die weergawe-navraag, want 'n gekaste dop bly die ou PATH rapporteer.
Hou ontdekking apart van die diens
Om 'n binêre lêer te vind is nie dieselfde as om 'n VPN-diens te laat loop nie. Om openvpn outomaties te begin voeg profiel-, geloofsbrief-, voorreg- en lewensiklusvereistes by wat pakketontdekking nooit aangeraak het nie. Tunnelblick bundel ook sy eie enjin, so die weergawe wat jy pas gedruk het, het dalk niks te doen met die weergawe wat die toepassing gebruik nie.
Teken aan watter uitvoerbare lêer die weergawe-uitset gelewer het. Daardie een reël spaar 'n uur die volgende keer wanneer twee weergawes verskil.