Homebrew ievieto OpenVPN bināro failu sbin, nevis jūsu PATH
Formula instalē OpenVPN dēmonu zem sbin, ko macOS noklusējuma PATH neietver. Pārbaudiet prefiksu un pēc tam izlabojiet atrisinājumu vienā failā.
Instalācija beidzas, brew saka, ka openvpn ir, un čaula atbild command not found. Binārais fails pastāv, tas vienkārši atrodas mapē, par ko čaulai nekad netika pateikts. Homebrew saista dēmona tipa bināros failus prefiksa sbin mapē, un macOS noklusējuma PATH parasti ietver bin mapi, nevis sbin mapi. Nekas nav salauzts, un neviena pārinstalēšana to nemainīs.
Četras pārbaudes apstiprina mehānismu pirms jebkura čaulas faila rediģēšanas.
Ko formula faktiski instalē
Openvpn formula būvē komandrindas dēmonu, tāpēc tās izpildāmais fails nonāk zem sbin, nevis bin. Pēc tam Homebrew saista šo bināro failu ar prefiksa sbin mapi, un tāpēc "$(brew --prefix)/sbin/openvpn" --version darbojas, bet kails izsaukums nedarbojas. Versijotā Cellar mape arī glabā kopiju, un šī ceļa ievietošana palaišanas failā ir veids, kā mašīna pēc atjaunināšanas paliek piesaistīta vecai būvējumam.
Prefiksa simboliskā saite ir stabilais ceļš. Cellar ceļš ir ieviešanas detaļa ar versijas numuru tajā.
Jautājiet Homebrew, nevis failu sistēmai
Sāciet ar pakešu pārvaldnieku, jo tas zina, kura instalācija pieder formulai: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. Ja pēdējais izdrukā ceļu, formula ir klāt, un jautājums ir tikai par atrisinājumu. Ja tas neizdrukā neko, čaula meklē nepareizajā vietā paketi, kas nekad nav instalēta, un tā ir cita problēma ar citu risinājumu.
Divas Homebrew instalācijas vienā mašīnā ir tā vieta, kur tas visvairāk nozīmē: brew, kas atbild, ne vienmēr ir tas brew, kas instalēja.
Kāpēc čaula neredz sbin
Pieteikšanās čaula veido PATH no sistēmas noklusējumiem un visa, ko pievieno jūsu palaišanas faili. Homebrew bin parasti tiek pievienots, bet Homebrew sbin parasti ne, tāpēc darbojas visas komandas, izņemot dēmonus. command -v openvpn, kas neko neatgriež, kamēr ceļš ar prefiksu atgriež versiju, ir visa diagnostika divās komandās. Pārbaudiet, vai mapē patiešām ir saite, ar ls -l "$(brew --prefix)/sbin/openvpn".
Trūkstoša saite ir cita kļūme nekā trūkstošs PATH ieraksts, un tikai vienu no tām izlabo čaulas faila rediģēšana.
Izlabojiet ceļu vienreiz, vienā vietā
Ātrai pārbaudei pašreizējā čaulā eval "$(brew shellenv)" iestata instalācijas mainīgos un abas mapes liek priekšā. Pastāvīgam sakārtojumam ievietojiet shellenv rindu vienīgajā palaišanas failā, ko jūsu čaula lasa jūsu izmantotajam pieteikšanās režīmam, tā vietā lai izkaisītu eksportus pa bash un zsh failiem.
Pēc tam atveriet jaunu termināli un atkārtojiet versijas vaicājumu, jo kešotā čaula turpina ziņot veco PATH.
Turiet atklāšanu atsevišķi no pakalpojuma
Atrast bināro failu nav tas pats, kas darbināt VPN pakalpojumu. Automātiska openvpn palaišana pievieno profila, akreditācijas datu, privilēģiju un dzīves cikla prasības, kurām pakešu atklāšana nekad nav pieskārusies. Tunnelblick arī piesaista savu dzinēju, tāpēc tikko izdrukātā versija var nebūt saistīta ar versiju, ko izmanto lietojumprogramma.
Pierakstiet, kurš izpildāmais fails radīja versijas izvadi. Šī viena rinda ietaupa stundu nākamreiz, kad divas versijas nesaskan.