Homebrew OpenVPN binary faylını PATH-da deyil, sbin-də yerləşdirir
Formul OpenVPN daemonunu sbin altında quraşdırır, standart macOS PATH isə bu qovluğu ehtiva etmir. Prefiksi təsdiqləyin, sonra həlli bir faylda düzəldin.
Quraşdırma bitir, brew openvpn-in mövcud olduğunu deyir, lakin shell command not found cavabını verir. Binary fayl mövcuddur, sadəcə shell-ə heç vaxt bildirilməmiş qovluqda yerləşir. Homebrew daemon tipli binary faylları prefiksin sbin qovluğuna link edir, standart macOS PATH isə adətən bin qovluğunu ehtiva edir, sbin qovluğunu yox. Heç nə pozulmayıb və heç bir yenidən quraşdırma bunu dəyişməyəcək.
Hər hansı shell faylını redaktə etməzdən əvvəl dörd yoxlama mexanizmi təsdiqləyir.
Formul əslində nə quraşdırır
openvpn formulu əmr sətri daemonu qurur, buna görə onun icra olunan faylı bin yox, sbin altına düşür. Sonra Homebrew həmin binary faylı prefiksin sbin qovluğuna link edir, buna görə "$(brew --prefix)/sbin/openvpn" --version işləyir, sadə çağırış isə işləmir. Versiyalı Cellar qovluğu da bir nüsxə saxlayır və həmin yolu başlanğıc faylına yazmaqla maşın yeniləmədən sonra köhnə build-ə bağlı qalır.
Prefiks simlinki sabit yoldur. Cellar yolu isə içində versiya nömrəsi olan tətbiq detallıdır.
Fayl sisteminə deyil, Homebrew-ə soruşun
Paket meneceri ilə başlayın, çünki formulun hansı quraşdırmaya aid olduğunu bilən odur: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. Əgər sonuncusu yol çap edirsə, formul mövcuddur və söhbət yalnız həlletmə ilə bağlıdır. Əgər heç nə çap etmirsə, shell heç vaxt quraşdırılmamış paketi səhv yerdə axtarır və bu, fərqli düzəlişi olan fərqli problemdir.
Bir maşında iki Homebrew quraşdırması olması ən çox burada önəm daşıyır: cavab verən brew mütləq quraşdıran brew deyil.
Niyə shell sbin-i görə bilmir
Giriş shell-i PATH-ı sistem standartlarından və başlanğıc fayllarınızın əlavə etdiklərindən qurur. Homebrew bin adətən əlavə olunur, Homebrew sbin isə adətən yox, buna görə daemonlardan başqa hər əmr işləyir. command -v openvpn heç nə qaytarmır, prefiksli yol isə versiya qaytarır və bu, iki əmrdə bütün diaqnozdur. Qovluğun həqiqətən linki saxladığını ls -l "$(brew --prefix)/sbin/openvpn" ilə təsdiqləyin.
İtkin link itkin PATH qeydindən fərqli nasazlıqdır və onlardan yalnız biri shell faylını redaktə etməklə düzəlir.
Yolu bir dəfə, bir yerdə düzəldin
Cari shell-də sürətli test üçün eval "$(brew shellenv)" quraşdırma dəyişənlərini qurur və hər iki qovluğu qabağa qoyur. Daimi quruluş üçün shellenv sətrini istifadə etdiyiniz giriş rejimi üçün shell-inizin oxuduğu yeganə başlanğıc faylına yerləşdirin, ixracaları bash və zsh faylları arasında səpmək əvəzinə.
Sonra yeni terminal açın və versiya sorğusunu təkrarlayın, çünki keşlənmiş shell köhnə PATH-ı bildirməyə davam edir.
Kəşfi xidmətdən ayrı saxlayın
Binary fayl tapmaq VPN xidməti işlətməklə eyni şey deyil. openvpn-i avtomatik başlatmaq paket kəşfinin heç vaxt toxunmadığı profil, etimad, imtiyaz və həyat dövrü tələblərini əlavə edir. Tunnelblick həmçinin öz mühərrikini gətirir, buna görə indicə çap etdiyiniz versiyanın tətbiqin istifadə etdiyi versiya ilə heç bir əlaqəsi olmaya bilər.
Versiya çıxışını hansı icra olunan faylın verdiyini qeyd edin. Bu bir sətir, iki versiya ziddiyyət təşkil edəndə növbəti dəfə bir saat qənaət edir.