Uppsetning OpenVPN mistekst vegna þess að gpg frá Git vinnur á PATH
Git for Windows kemur með sitt eigið gpg.exe, og röðin í PATH ræður því hvoru OpenVPN-uppsetningarforritið keyrir. Athugaðu með where.exe og raðaðu síðan upp á nýtt í stað þess að eyða.
Uppsetning OpenVPN sem deyr undir Chocolatey með undirskriftar- eða lykilvillu er venjulega ekki niðurhalsvandamál. Pakkinn keyrir sannprófunarskref sem kallar á gpg, og Windows leysir það bert nafn gegnum PATH. Ef Git for Windows var sett upp fyrst stendur meðfylgjandi gpg.exe þess framar GnuPG-útgáfunni sem OpenVPN býst við, og rangt forrit svarar kallinu. Villan sem þú sérð er það sem hitt forritið ákvað að kvarta yfir, og þess vegna nefnir hún aldrei raunverulegu orsökina.
Röðin í PATH ræður því hvaða gpg keyrir
Windows hefur enga miðlæga skrá yfir nöfn keyrsluskráa. Þegar ferli biður um gpg án fullrar slóðar fer hleðslan yfir PATH-færslurnar í röð og keyrir fyrstu samsvörunina. Git for Windows flytur inn lágmarks-GnuPG-útgáfu í usr/bin möppunni sinni svo undirrituð commit virki, og uppsetningarforritið setur þá möppu venjulega nálægt upphafi PATH notandans.
GnuPG setur sig upp í eigin möppu, venjulega C:\Program Files (x86)\GNU\GnuPG\pub, og sú færsla getur verið neðar á listanum eða vantað alveg í PATH notandans. Forritin tvö deila nafni og stórum hluta skipanalínuviðmóts en ekki ástandi sínu: Git-útgáfan leitar að lyklaknippi annars staðar, er kannski önnur útgáfa og tekur kannski ekki við valkostunum sem uppsetningarforritið sendir. Þetta misræmi birtist sem undirskriftar- eða lykilvilla, sem er sannleiksgild skýrsla um það sem ranga tvíundaskráin sá. Ekkert í skeytinu bendir á hleðsluna, því hleðslan gerði nákvæmlega það sem henni var sagt.
Hvers vegna skelinn sem þú byrjar í ræður niðurstöðunni
Erfðareglan er sá hluti sem er þess virði að tileinka sér. Barnferli fær umhverfi skeljarinnar sem ræsti það, svo röðin sem skiptir máli er röðin þegar Chocolatey byrjar, ekki röðin eftir að þú lagar hana.
Þess vegna breytir það oft engu að breyta PATH í stillingaglugga og keyra uppsetninguna aftur í sama flugstöðinni: flugstöðin hélt gömlu umhverfinu. Byrjaðu nýja skel eftir hverja breytingu og staðfestu með where.exe gpg í þeirri nýju skel áður en þú reynir aftur. Þess vegna getur færsla á vélarstigi einnig sigrað breytingu á notendarstigi, því sum uppsetningarforrit bæta framan við PATH vélarinnar og vélarfærslur eru metnar á undan notendarfærslum. Ef bæði stigin innihalda GnuPG-slóð skaltu ákveða hvora þú viðheldur í raun.
Leiðrétting eitt: raðaðu færslunum upp á nýtt
Nákvæma leiðréttingin er að láta ætlaða GnuPG-möppuna vinna. Opnaðu umhverfisbreytur notandans, breyttu Path og færðu pub möppu GnuPG ofan við Git-færslurnar. Opnaðu svo nýjan PowerShell-glugga, því sá sem keyrir heldur enn gömlu listanum.
Valkosturinn er tímabundið hreint umhverfi fyrir uppsetninguna: fjarlægðu Git-færslurnar, opnaðu nýja skel, keyrðu choco install openvpn og settu þær svo aftur.
Báðar aðferðir virka af sömu ástæðu, og önnur er aðeins örugg ef þú setur færslurnar raunverulega aftur. Að fjarlægja usr/bin Git úr PATH brýtur undirrituð commit varanlega, og næsta tól sem býst við virku gpg mistekst með eigin skeyti sem hefur ekkert með OpenVPN að gera. Ef þú ferð tímabundnu leiðina skaltu geyma upprunalegt gildi Path í miðanum svo endurheimtin sé líming en ekki endurbygging. Að raða færslunum er varanleg leiðrétting; að eyða þeim er vinnulag með frest.
Sannprófaðu og settu svo aftur
Sannprófaðu fyrir og eftir í sama notendaskilyrðum og Chocolatey mun nota. where.exe gpg telur upp hverja samsvörun í leysingarröð, svo fyrsta línan er sú sem keyrir; Get-Command gpg -All gefur sama svar með meiri smáatriðum í PowerShell. Svo staðfestir gpg --version hvaða útgáfa svaraði.
Ef where.exe telur enn Git-eintakið fyrst hefur endurröðunin ekki náð þeirri lotu, og engin enduruppsetning hjálpar. Athugaðu bæði vélar- og notenda-PATH með [Environment]::GetEnvironmentVariable('Path','Machine') og sama kalli með 'User', því virki listinn er settur saman úr báðum. Eftir vel heppnaða uppsetningu skaltu athuga aftur með openvpn --version og ræsa þjónustuna eða GUI einu sinni, því pakki getur sett sig hreint upp og samt skilið eftir þjónustu sem ræsist ekki.
Ef rétt raðað PATH mistekst enn, er breytan sem eftir er útgáfa pakkans. Föst Chocolatey-pakki getur búist við ákveðinni GnuPG-útgáfu eða uppsetningarslóð sem vélin þín hefur ekki.
Lestu eigin annál pakkans áður en þú breytir einhverju öðru. C:\ProgramData\chocolatey\logs\chocolatey.log skráir skipanalínuna sem mistókst og möppuna sem hún var keyrð úr, sem segir þér hvort misheppnaða kallið var undirskriftarathugun, útdráttur eða skrifta eftir uppsetningu. Sú greinarmunur ræður því hvort þú ert enn yfirhöfuð að kemba gpg.
Venjan sem kemur í veg fyrir endurtekningu er að meðhöndla PATH sem deilt ástand með skjalfestri röð í stað þess að vera poki af möppum. Þegar þú setur upp tól sem kemur með algengt tvíundarheiti skaltu athuga hvað það skyggir á í næstu skel sem þú opnar. Skrifaðu svo niður röðina sem þú lentir á, því næsta uppsetningarforrit bætir við hana og næsta manneskja mun velta því fyrir sér hvers vegna undirskriftarathugun mistekst á vél þar sem ekkert breyttist. Eitt where.exe fyrir uppsetninguna sparar alla lykkjuna.