Windows Github Powershell शॉर्टकट को पुनर्स्थापित करना


0

मेरे पास विंडोज स्थापित (Win7 x64) के लिए जीथब है। यह एक आसान शॉर्टकट के साथ भी आया, जिसने एक जीआईटी-अनुकूलित पॉवर्सहेल इंस्टेंस को लॉन्च करने की अनुमति दी (जो कि ट्रैक किए गए फ़ोल्डर में प्रॉम्प्ट में गिट फाइल स्थिति जैसी जानकारी भी प्रदर्शित करता है)।

मैंने कुछ समय पहले उस शॉर्टकट को हटा दिया था और अब मैं इसे पुनर्स्थापित करने का प्रयास कर रहा हूं। मुझे वह स्क्रिप्ट मिल गई है जिसे वह चला रहा था (ऐप फ़ोल्डर में shell.ps1), लेकिन इसे चलाने की कोशिश करने से कई बल्कि बदसूरत त्रुटियाँ पैदा होती हैं, जैसे:

Set-Alias : The AllScope option cannot be removed from the alias 'cat'.
At C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1:11 char:10
+ set-alias <<<<  cat        get-content
    + CategoryInfo          : WriteError: (cat:String) [Set-Alias], SessionStateUnauthorizedAccessException
    + FullyQualifiedErrorId : AliasAllScopeOptionCannotBeRemoved,Microsoft.PowerShell.Commands.SetAliasCommand

मैं बस एक विकल्प (जैसे msys शेल) का उपयोग कर सकता हूं, लेकिन मैं वास्तव में उत्सुक हूं कि क्यों PowerShell संस्करण काम नहीं कर रहा है।

जवाबों:


1

त्रुटि आपके प्रोफ़ाइल और शेल के बीच टकराव का सुझाव देती है। 1। यह विशेष रूप से एक है क्योंकि आपके पास है cat उपनाम आपकी प्रोफ़ाइल में परिभाषित किया गया है, और यह एक को अधिलेखित करने की कोशिश कर रहा है shell.ps1

मैं इस स्क्रिप्ट से सुझाव का पालन करूंगा:

Generally you would run this from your Powershell Profile like this:

. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")

वैसे भी: इस का दिल यह स्क्रिप्ट नहीं है, यह मॉड्यूल है जो इसके साथ आता है, इसलिए अपनी प्रोफ़ाइल में एक और पंक्ति जोड़ना सुनिश्चित करें:

Import-Module $env:posh_git

उस वह टुकड़ा जो शीघ्र और अन्य तत्वों को संभालता है।

यदि आप प्रोफाइल का उपयोग करने से बचना चाहते हैं - बस उपयोग करें -noprofile खोलना powershell.exe


मैंने अपनी प्रोफ़ाइल में उन आदेशों को जोड़ दिया है, लेकिन वे केवल शब्‍दावली के x86 संस्‍करण को प्रभावित करते हैं। X64 उदाहरण स्पष्ट रूप से उस फ़ाइल को अनदेखा करता है, भले ही $ प्रोफ़ाइल दर्ज करना x86 संस्करण के समान प्रोफ़ाइल फ़ाइल नाम को दर्शाता है। इसके अलावा, अब मुझे x86 संस्करण में एक और त्रुटि मिल रही है: Import-Module : Cannot bind argument to parameter 'Name' because it is null., आयात-मॉड्यूल लाइन पर।
Andrei Bârsan

1
आपके द्वारा उपयोग किए जाने वाले पीएस (x86 / x64) के संस्करण के साथ कोई फर्क नहीं होना चाहिए, लेकिन सिर्फ यह सुनिश्चित करने के लिए - आप कंसोल से सीधे डॉट-सोर्स स्क्रिप्ट को हमेशा देख सकते हैं। आयात-मॉड्यूल से आपको प्राप्त त्रुटि से पता चलता है कि आप हालांकि डॉट-सोर्सिंग स्क्रिप्ट नहीं हैं: . Shell.ps1 की तुलना में बहुत अलग प्रभाव है Shell.ps1
BartekB


0

खैर, मैं अपनी प्रोफ़ाइल में एक पॉश-गिट लोड करके (एक में, मैन्युअल रूप से लोड करके, एक साथ हैक करने में कामयाब रहा Import-Module $env:posh_git कमांड काम नहीं कर रहा था और $ एनवी के बारे में एक बुरा त्रुटि फेंक रहा था: पॉश_जीट एक मॉड्यूल नहीं है):

. (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. (Resolve-Path "$env:LOCALAPPDATA\GitHub\PoshGit_e0fc5e56ff55708a890f408f03656f758fa0ba8a\profile.example.ps1")

... और मेरी डिफ़ॉल्ट प्रोफ़ाइल फ़ाइल में स्थित सभी डिफ़ॉल्ट उपनामों की टिप्पणी करके (में) C:\Windows\System32\WindowsPowerShell\v1.0 )। इसने अंतिम परिवर्तन के बिना भी काम किया, लेकिन पॉवरशेल ने शुरुआत करते समय त्रुटियों का एक टन दिखाया। अजीब तरह से, उपनाम जैसे cat तथा ls अभी भी काम।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.