स्थापना सकिन्छ, brew भन्छ openvpn त्यहाँ छ, तर शेल command not found भनी जवाफ दिन्छ। बाइनरी अवस्थित छ, त्यो केवल यस्तो डाइरेक्टरीमा बसेको छ जुनबारे शेललाई कहिल्यै भनिएको थिएन। Homebrew डेमन-शैलीका बाइनरीहरूलाई प्रिफिक्सको sbin डाइरेक्टरीमा लिंक गर्छ, र पूर्वनिर्धारित macOS PATH ले सामान्यतया bin डाइरेक्टरी समावेश गर्छ, sbin होइन। केही पनि बिग्रिएको छैन, र कुनै पनि पुनःस्थापनाले यसलाई बदल्ने छैन।

कुनै पनि शेल फाइल सम्पादन गर्नुअघि चार जाँचले यो कार्यविधि पुष्टि गर्छन्।

फर्मुलाले वास्तवमा के स्थापना गर्छ

openvpn फर्मुलाले कमाण्ड-लाइन डेमन बनाउँछ, त्यसैले यसको कार्यान्वयन फाइल bin होइन sbin मुनि पर्छ। त्यसपछि Homebrew त्यो बाइनरीलाई प्रिफिक्सको sbin डाइरेक्टरीमा लिंक गर्छ, र त्यसैले "$(brew --prefix)/sbin/openvpn" --version काम गर्छ जबकि खाली आह्वान गर्दैन। संस्करण-अंकित Cellar डाइरेक्टरीले पनि प्रतिलिपि राख्छ, र त्यो मार्ग स्टार्टअप फाइलमा राख्नु भनेको अपग्रेडपछि पनि मेसिन पुरानो बिल्डमा अड्किरहने तरिका हो।

प्रिफिक्स सिमलिंक स्थिर मार्ग हो। Cellar मार्ग भित्र संस्करण नम्बर भएको कार्यान्वयन विवरण हो।

फाइलसिस्टमलाई होइन, Homebrew लाई सोध्नुहोस्

प्याकेज म्यानेजरबाट सुरु गर्नुहोस्, किनकि कुन स्थापनाले फर्मुलाको स्वामित्व राख्छ त्यो यसलाई थाहा छ: command -v brew, brew --prefix, brew list --versions openvpn, brew --prefix openvpn. यदि अन्तिमले मार्ग प्रिन्ट गर्छ भने फर्मुला उपस्थित छ र प्रश्न केवल समाधानको हो। यदि यसले केही पनि प्रिन्ट गर्दैन भने शेल कहिल्यै स्थापना नभएको प्याकेजलाई गलत ठाउँमा खोजिरहेको छ, र त्यो फरक समाधान भएको फरक समस्या हो।

एउटै मेसिनमा दुई Homebrew स्थापना हुनु नै त्यो ठाउँ हो जहाँ यो सबैभन्दा धेरै महत्त्वपूर्ण हुन्छ: जवाफ दिने brew स्थापना गर्ने brew नै हुनुपर्छ भन्ने छैन।

शेलले sbin किन देख्न सक्दैन

लगइन शेलले प्रणालीका पूर्वनिर्धारित र तपाईंका स्टार्टअप फाइलले थप्ने सबैबाट PATH बनाउँछ। Homebrew bin सामान्यतया थपिन्छ र Homebrew sbin सामान्यतया थपिँदैन, त्यसैले डेमनबाहेक हरेक कमाण्ड काम गर्छ। command -v openvpn केही फर्काउँदैन जबकि प्रिफिक्स भएको मार्गले संस्करण फर्काउँछ, यही दुई कमाण्डमा पूरै निदान हो। डाइरेक्टरीमा साँच्चै लिंक छ कि भनी ls -l "$(brew --prefix)/sbin/openvpn" ले पुष्टि गर्नुहोस्।

हराएको लिंक हराएको PATH प्रविष्टिभन्दा फरक खराबी हो, र तीमध्ये एउटा मात्र शेल फाइल सम्पादन गरेर सुधारिन्छ।

मार्ग एकैचोटि, एउटै ठाउँमा सुधार्नुहोस्

हालको शेलमा छिटो परीक्षणका लागि eval "$(brew shellenv)" स्थापना चरहरू सेट गर्छ र दुवै डाइरेक्टरी अगाडि राख्छ। स्थायी व्यवस्थाका लागि, तपाईंले प्रयोग गर्ने लगइन मोडका लागि तपाईंको शेलले पढ्ने एउटै स्टार्टअप फाइलमा shellenv लाइन राख्नुहोस्, bash र zsh फाइलहरूमा एक्सपोर्ट छर्नुको सट्टा।

त्यसपछि नयाँ टर्मिनल खोल्नुहोस् र संस्करणको प्रश्न दोहोर्याउनुहोस्, किनकि क्यास भएको शेलले पुरानै PATH रिपोर्ट गरिरहन्छ।

खोजलाई सेवाबाट अलग राख्नुहोस्

बाइनरी भेट्टाउनु VPN सेवा चलाउनुसरह होइन। openvpn स्वतः सुरु गर्दा प्याकेज खोजले कहिल्यै छोएको नभएका प्रोफाइल, प्रमाणपत्र, विशेषाधिकार र जीवनचक्रका आवश्यकताहरू थपिन्छन्। Tunnelblick ले आफ्नै इन्जिन पनि सँगै ल्याउँछ, त्यसैले भर्खरै प्रिन्ट गरिएको संस्करणको अनुप्रयोगले प्रयोग गर्ने संस्करणसँग कुनै सम्बन्ध नहुन सक्छ।

कुन कार्यान्वयन फाइलले संस्करण आउटपुट उत्पादन गर्यो त्यो अभिलेख गर्नुहोस्। त्यो एउटा लाइनले अर्को पटक दुई संस्करण नमिल्दा एक घण्टा बचाउँछ।

सम्बन्धित लेखहरू