OpenVPN суулгалт бүтэлгүй болж байна, учир нь Git-ийн gpg PATH дээр ялдаг
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 бүх мөчлөгийг хэмнэнэ.