ఇన్స్టాల్ పూర్తవుతుంది, 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 తన సొంత ఇంజిన్ను కూడా తెస్తుంది, కాబట్టి ఇప్పుడు ప్రింట్ చేసిన వెర్షన్కు అప్లికేషన్ ఉపయోగించే వెర్షన్తో ఎలాంటి సంబంధం లేకపోవచ్చు.

ఏ ఎగ్జిక్యూటబుల్ వెర్షన్ అవుట్పుట్ను ఉత్పత్తి చేసిందో నమోదు చేయండి. ఆ ఒక్క పంక్తి తదుపరిసారి రెండు వెర్షన్లు ఏకీభవించనప్పుడు ఒక గంట ఆదా చేస్తుంది.

సంబంధిత వ్యాసాలు