Git-ന്റെ gpg PATH-ൽ വിജയിക്കുന്നതിനാൽ OpenVPN ഇൻസ്റ്റാൾ പരാജയപ്പെടുന്നു
Git for Windows സ്വന്തം gpg.exe കൊണ്ടുവരുന്നു, PATH ക്രമമാണ് OpenVPN ഇൻസ്റ്റാളർ ഏതാണ് പ്രവർത്തിപ്പിക്കുക എന്ന് തീരുമാനിക്കുന്നത്. where.exe ഉപയോഗിച്ച് പരിശോധിച്ച്, ഇല്ലാതാക്കുന്നതിനു പകരം ക്രമം മാറ്റുക.
Chocolatey-യുടെ കീഴിൽ ഒപ്പ് അല്ലെങ്കിൽ കീ പിശകിനാൽ മരിക്കുന്ന OpenVPN ഇൻസ്റ്റാൾ സാധാരണയായി ഡൗൺലോഡ് പ്രശ്നമല്ല. പാക്കേജ് gpg വിളിക്കുന്ന ഒരു പരിശോധനാ ഘട്ടം പ്രവർത്തിപ്പിക്കുന്നു, Windows ആ നഗ്നനാമം PATH വഴി പരിഹരിക്കുന്നു. Git for Windows ആദ്യം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, അതിന്റെ കൂടെ വരുന്ന gpg.exe OpenVPN പ്രതീക്ഷിക്കുന്ന GnuPG ബിൽഡിന് മുന്നിൽ നിൽക്കുന്നു, തെറ്റായ പ്രോഗ്രാമാണ് കോളിന് ഉത്തരം നൽകുന്നത്. നിങ്ങൾ കാണുന്ന പിശക് ആ മറ്റ് പ്രോഗ്രാം പരാതിപ്പെടാൻ തീരുമാനിച്ച കാര്യമാണ്, അതുകൊണ്ടാണ് അത് യഥാർത്ഥ കാരണം ഒരിക്കലും പരാമർശിക്കാത്തത്.
PATH ക്രമം ഏത് gpg പ്രവർത്തിക്കുമെന്ന് തീരുമാനിക്കുന്നു
Windows-ന് എക്സിക്യൂട്ടബിൾ നാമങ്ങളുടെ കേന്ദ്ര രജിസ്ട്രിയില്ല. ഒരു പ്രോസസ് പൂർണ്ണ പാതയില്ലാതെ gpg ആവശ്യപ്പെടുമ്പോൾ, ലോഡർ PATH എൻട്രികളിലൂടെ ക്രമത്തിൽ കടന്ന് ആദ്യ പൊരുത്തം പ്രവർത്തിപ്പിക്കുന്നു. Git for Windows ഒപ്പിട്ട കമ്മിറ്റുകൾ പ്രവർത്തിക്കാൻ അതിന്റെ usr/bin ഡയറക്ടറിയിൽ ഒരു ചെറിയ GnuPG ബിൽഡ് നൽകുന്നു, അതിന്റെ ഇൻസ്റ്റാളർ സാധാരണയായി ആ ഡയറക്ടറി ഉപയോക്താവിന്റെ PATH-ന്റെ തുടക്കത്തിന് സമീപം വയ്ക്കുന്നു.
GnuPG അതിന്റെ സ്വന്തം ഡയറക്ടറിയിൽ, സാധാരണയായി C:\Program Files (x86)\GNU\GnuPG\pub ഇൻസ്റ്റാൾ ചെയ്യുന്നു, ആ എൻട്രി പട്ടികയിൽ പിന്നീടാകാം അല്ലെങ്കിൽ ഉപയോക്താവിന്റെ PATH-ൽ നിന്ന് പൂർണ്ണമായി കാണാതിരിക്കാം. രണ്ട് പ്രോഗ്രാമുകളും പേരും കമാൻഡ്-ലൈൻ ഇന്റർഫേസിന്റെ വലിയൊരു ഭാഗവും പങ്കിടുന്നു, പക്ഷേ അവയുടെ അവസ്ഥയല്ല: Git ബിൽഡ് കീറിംഗ് മറ്റെവിടെയോ തിരയുന്നു, വ്യത്യസ്ത പതിപ്പായിരിക്കാം, ഇൻസ്റ്റാളർ കൈമാറുന്ന ഓപ്ഷനുകൾ സ്വീകരിച്ചേക്കില്ല. ആ പൊരുത്തക്കേട് ഒപ്പ് അല്ലെങ്കിൽ കീ പിശകായി പ്രത്യക്ഷപ്പെടുന്നു, അത് തെറ്റായ ബൈനറി കണ്ടതിന്റെ സത്യസന്ധമായ റിപ്പോർട്ടാണ്. സന്ദേശത്തിൽ ഒന്നും ലോഡറിലേക്ക് ചൂണ്ടുന്നില്ല, കാരണം ലോഡർ പറഞ്ഞത് കൃത്യമായി ചെയ്തു.
നിങ്ങൾ ആരംഭിക്കുന്ന ഷെൽ ഫലം തീരുമാനിക്കുന്നത് എന്തുകൊണ്ട്
പാരമ്പര്യ നിയമമാണ് ഉൾക്കൊള്ളാൻ യോഗ്യമായ ഭാഗം. കുട്ടി പ്രോസസിന് അതിനെ ലോഞ്ച് ചെയ്ത ഷെല്ലിന്റെ പരിസ്ഥിതി ലഭിക്കുന്നു, അതിനാൽ പ്രധാനമായ ക്രമം Chocolatey ആരംഭിക്കുന്ന നിമിഷത്തിലെ ക്രമമാണ്, നിങ്ങൾ തിരുത്തിയതിന് ശേഷമുള്ള ക്രമമല്ല.
അതുകൊണ്ടാണ് സെറ്റിംഗ്സ് വിൻഡോയിൽ PATH എഡിറ്റ് ചെയ്ത് അതേ ടെർമിനലിൽ ഇൻസ്റ്റാൾ വീണ്ടും പ്രവർത്തിപ്പിക്കുന്നത് പലപ്പോഴും ഒന്നും മാറ്റാത്തത്: ടെർമിനൽ പഴയ പരിസ്ഥിതി നിലനിർത്തി. ഏതെങ്കിലും മാറ്റത്തിന് ശേഷം പുതിയ ഷെൽ ആരംഭിക്കുക, വീണ്ടും ശ്രമിക്കുന്നതിന് മുമ്പ് ആ പുതിയ ഷെല്ലിൽ where.exe gpg ഉപയോഗിച്ച് സ്ഥിരീകരിക്കുക. മെഷീൻ തലത്തിലുള്ള എൻട്രിക്ക് ഉപയോക്തൃ തലത്തിലുള്ള മാറ്റത്തെ തോൽപ്പിക്കാനാകുന്നതും ഇതേ കാരണം കൊണ്ടാണ്, ചില ഇൻസ്റ്റാളർമാർ മെഷീന്റെ PATH-ന്റെ തുടക്കത്തിൽ ചേർക്കുന്നു, മെഷീൻ എൻട്രികൾ ഉപയോക്തൃ എൻട്രികൾക്ക് മുമ്പ് വിലയിരുത്തപ്പെടുന്നു. രണ്ട് തലങ്ങളിലും GnuPG പാതയുണ്ടെങ്കിൽ, നിങ്ങൾ യഥാർത്ഥത്തിൽ ഏതാണ് പരിപാലിക്കുന്നതെന്ന് തീരുമാനിക്കുക.
ആദ്യ തിരുത്ത്: എൻട്രികളുടെ ക്രമം മാറ്റുക
കൃത്യമായ തിരുത്ത് ഉദ്ദേശിച്ച GnuPG ഡയറക്ടറി വിജയിക്കാൻ അനുവദിക്കുകയാണ്. ഉപയോക്താവിന്റെ പരിസ്ഥിതി ചരങ്ങൾ തുറക്കുക, Path എഡിറ്റ് ചെയ്യുക, GnuPG-യുടെ pub ഡയറക്ടറി Git എൻട്രികൾക്ക് മുകളിലേക്ക് നീക്കുക. തുടർന്ന് പുതിയ PowerShell വിൻഡോ തുറക്കുക, കാരണം പ്രവർത്തിക്കുന്നത് ഇപ്പോഴും പഴയ പട്ടിക കൈവശം വയ്ക്കുന്നു.
ബദൽ ഇൻസ്റ്റാളിനായി ഒരു താൽക്കാലിക ശുദ്ധമായ പരിസ്ഥിതിയാണ്: Git എൻട്രികൾ നീക്കം ചെയ്യുക, പുതിയ ഷെൽ തുറക്കുക, choco install openvpn പ്രവർത്തിപ്പിക്കുക, തുടർന്ന് അവ പുനഃസ്ഥാപിക്കുക.
രണ്ട് സമീപനങ്ങളും ഒരേ കാരണത്താൽ പ്രവർത്തിക്കുന്നു, രണ്ടാമത്തേത് നിങ്ങൾ എൻട്രികൾ യഥാർത്ഥത്തിൽ പുനഃസ്ഥാപിച്ചാൽ മാത്രം സുരക്ഷിതമാണ്. Git-ന്റെ usr/bin PATH-ൽ നിന്ന് നീക്കം ചെയ്യുന്നത് ഒപ്പിട്ട കമ്മിറ്റുകൾ ശാശ്വതമായി തകർക്കുന്നു, പ്രവർത്തിക്കുന്ന gpg പ്രതീക്ഷിക്കുന്ന അടുത്ത ഉപകരണം OpenVPN-മായി യാതൊരു ബന്ധവുമില്ലാത്ത അതിന്റെ സ്വന്തം സന്ദേശത്തോടെ പരാജയപ്പെടുന്നു. നിങ്ങൾ താൽക്കാലിക വഴി സ്വീകരിക്കുകയാണെങ്കിൽ, ടിക്കറ്റിൽ Path-ന്റെ യഥാർത്ഥ മൂല്യം സൂക്ഷിക്കുക, പുനഃസ്ഥാപനം പുനർനിർമ്മാണമല്ല, ഒട്ടിക്കലായിരിക്കട്ടെ. എൻട്രികൾ ക്രമീകരിക്കുന്നതാണ് സ്ഥിരമായ തിരുത്ത്; അവ ഇല്ലാതാക്കുന്നത് കാലാവധിയുള്ള ഒരു പരിഹാരമാണ്.
പരിശോധിച്ച്, തുടർന്ന് തിരികെ വയ്ക്കുക
Chocolatey ഉപയോഗിക്കുന്ന അതേ ഉപയോക്തൃ സന്ദർഭത്തിൽ മുമ്പും ശേഷവും പരിശോധിക്കുക. where.exe gpg ഓരോ പൊരുത്തവും പരിഹാര ക്രമത്തിൽ പട്ടികപ്പെടുത്തുന്നു, അതിനാൽ ആദ്യ വരിയാണ് പ്രവർത്തിക്കുന്നത്; Get-Command gpg -All PowerShell-ൽ കൂടുതൽ വിശദാംശത്തോടെ അതേ ഉത്തരം നൽകുന്നു. തുടർന്ന് gpg --version ഏത് ബിൽഡാണ് ഉത്തരം നൽകിയതെന്ന് സ്ഥിരീകരിക്കുന്നു.
where.exe ഇപ്പോഴും Git പകർപ്പ് ആദ്യം പട്ടികപ്പെടുത്തുന്നുവെങ്കിൽ, ക്രമമാറ്റം ആ സെഷനിൽ എത്തിയിട്ടില്ല, എത്ര വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്താലും സഹായിക്കില്ല. മെഷീന്റെയും ഉപയോക്താവിന്റെയും PATH [Environment]::GetEnvironmentVariable('Path','Machine') ഉപയോഗിച്ചും 'User' ഉപയോഗിച്ച് അതേ കോളും പരിശോധിക്കുക, കാരണം ഫലപ്രദമായ പട്ടിക രണ്ടിൽ നിന്നും കൂട്ടിച്ചേർക്കുന്നു. വിജയകരമായ ഇൻസ്റ്റാളിന് ശേഷം, openvpn --version ഉപയോഗിച്ച് വീണ്ടും പരിശോധിച്ച് സേവനമോ GUI-യോ ഒരിക്കൽ ആരംഭിക്കുക, കാരണം പാക്കേജ് വൃത്തിയായി ഇൻസ്റ്റാൾ ചെയ്തിട്ടും ആരംഭിക്കാത്ത ഒരു സേവനം വിട്ടേക്കാം.
ശരിയായി ക്രമീകരിച്ച PATH ഇപ്പോഴും പരാജയപ്പെടുന്നുവെങ്കിൽ, ബാക്കിയുള്ള ചരം പാക്കേജ് പതിപ്പാണ്. പിൻ ചെയ്ത Chocolatey പാക്കേജ് നിങ്ങളുടെ മെഷീനിൽ ഇല്ലാത്ത ഒരു നിർദ്ദിഷ്ട GnuPG ബിൽഡോ ഇൻസ്റ്റാൾ പാതയോ പ്രതീക്ഷിച്ചേക്കാം.
പാക്കേജിന്റെ സ്വന്തം ലോഗ് വായിക്കുക മറ്റെന്തെങ്കിലും മാറ്റുന്നതിന് മുമ്പ്. C:\ProgramData\chocolatey\logs\chocolatey.log പരാജയപ്പെട്ട കമാൻഡ് ലൈനും അത് പ്രവർത്തിച്ച ഡയറക്ടറിയും രേഖപ്പെടുത്തുന്നു, അത് പരാജയപ്പെട്ട കോൾ ഒപ്പ് പരിശോധനയാണോ എക്സ്ട്രാക്ഷനാണോ ഇൻസ്റ്റാളിന് ശേഷമുള്ള സ്ക്രിപ്റ്റാണോ എന്ന് നിങ്ങളോട് പറയുന്നു. ആ വ്യത്യാസമാണ് നിങ്ങൾ ഇപ്പോഴും gpg ഡീബഗ് ചെയ്യുന്നുണ്ടോ എന്ന് തീരുമാനിക്കുന്നത്.
ആവർത്തനം തടയുന്ന ശീലം PATH-നെ ഡയറക്ടറികളുടെ സഞ്ചിയായി അല്ല, രേഖപ്പെടുത്തിയ ക്രമമുള്ള പങ്കിട്ട അവസ്ഥയായി കാണുന്നതാണ്. സാധാരണ ബൈനറി നാമം കൊണ്ടുവരുന്ന ഒരു ഉപകരണം ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ, നിങ്ങൾ അടുത്തതായി തുറക്കുന്ന ഷെല്ലിൽ അത് എന്തിനെ മറയ്ക്കുന്നുവെന്ന് പരിശോധിക്കുക. തുടർന്ന് നിങ്ങൾ എത്തിച്ചേർന്ന ക്രമം എഴുതി വയ്ക്കുക, കാരണം അടുത്ത ഇൻസ്റ്റാളർ അതിൽ ചേർക്കും, അടുത്ത വ്യക്തി ഒന്നും മാറാത്ത ഒരു മെഷീനിൽ ഒപ്പ് പരിശോധന എന്തുകൊണ്ട് പരാജയപ്പെടുന്നു എന്ന് ആലോചിക്കും. ഇൻസ്റ്റാളിന് മുമ്പ് ഒരു where.exe മുഴുവൻ ലൂപ്പ് ലാഭിക്കുന്നു.