haskell हर जगह जीएचसी/हास्केल प्लेटफार्म स्थापित करता है




ghc haskell-platform (4)

मान लीजिए कि मैं पूरी तरह से जीएचसी / एचपी को पुनर्स्थापित करना चाहता हूं। मैं चाहता हूं (कुछ भी के रूप में अंधविश्वास के लिए) पिछले कुछ स्थापित से कुछ भी और सब कुछ हटा दें। मुझे वास्तव में (और कहां) हटाने की क्या ज़रूरत है?

संपादित करें: मैं ओएसएक्स पर हूं, लेकिन अगर मैं यह जानकारी सामान्य रूप से सभी प्रणालियों के लिए उपलब्ध हूं, तो मैं अधिक उत्सुक हूं।

संपादन 2: अब तक हमारे पास है:

OSX:
/Library/Frameworks/GHC.framework/
~ / .cabal /
/ usr / bin / - symlinks

मैं उसमें जोड़ूंगा (यहां परिभाषित "उपसर्ग" के आधार पर: http://www.vex.net/~trebla/haskell/sicp.xhtml#storage ):
उपसर्ग / lib /
उपसर्ग / शेयर /
उपसर्ग / bin /
उपसर्ग / शेयर / doc /
/ usr (/ स्थानीय) / lib / [ghc-version]
/ usr (/ स्थानीय) / शेयर / डॉक्टर / ghc / एचटीएमएल / पुस्तकालय / - दस्तावेज़ीकरण
/ usr (/ स्थानीय) / शेयर / डॉक्टर / ghc /
/ usr (/ स्थानीय) / बिन
/ Var / lib / [GHC-संस्करण]
/ Etc / [GHC-संस्करण]
~ / .ghc /

संपादित करें 3:
ओएस एक्स:
~ / Library / हास्केल

लिनक्स:
??

विंडोज:
??


uninstall-hs आपके लिए कुछ काम करता है; मुझे यकीन नहीं है कि कितना।


मैं ओएसएक्स (शेर एटीएम) पर हूं। मुझे /Library/Frameworks/GHC.framework/ (वर्तमान और पिछले संस्करण) में जीएचसी मिला है। / Usr / bin में कुछ सिम्लिंक भी हैं, लेकिन इन्हें एक नए इंस्टॉल द्वारा प्रतिस्थापित किया जाएगा।

यदि आपने पैकेज को इंस्टॉल करने के लिए स्थानीय रूप से कैबल का उपयोग किया है, तो आप ~ / .cabal को भी साफ़ करना चाहेंगे। यदि आपके पास हालिया कैबल है, तो आप कैबल इंस्टॉल दुनिया का उपयोग कर 'नए' जीएचसी संस्करण के लिए आसानी से सभी पैकेजों को पुनर्स्थापित कर सकते हैं और फिर जीएचसी के पिछले संस्करण से मेल खाने वाली निर्देशिकाओं को देख सकते हैं जो आपको पसंद आया था:

for package in `ls ~/.cabal/lib/`; do 
   if [ ! -d ~/.cabal/lib/${package}/ghc-7.0.3 ]; then 
       echo $package; 
   else 
       echo "OK for $package"; 
   fi;
done 

इन्हें हटाने के लिए सुरक्षित होना चाहिए।

उम्मीद है कि यह आपको कुछ हद तक मदद करता है।


यदि आपने ओएस एक्स पर लगभग 2012 के बाद से हास्केल प्लेटफार्म स्थापित किया है, तो बस चलाएं

uninstall-hs

और ध्यान से पढ़ें कि यह क्या आउटपुट करता है। आपको इसे फिर से उपलब्ध विकल्पों के साथ चलाने की आवश्यकता होगी। रन

uninstall-hs --help

अधिक विकल्पों के लिए।

नीचे मेरा मूल उत्तर है, जो अभी भी काम करेगा, लेकिन कई विकल्पों की पेशकश नहीं करता है और थोड़ा "हैम मुट्ठी" है:

चेतावनी: यह स्क्रिप्ट चरम है। यह जीएचसी और कैबल के लिए आपकी कस्टम कॉन्फ़िगरेशन फ़ाइलों को भी हटा देगा , और आपके द्वारा बनाए गए निष्पादन योग्य जो अभी भी ~/Library/Haskell या ~/.cabal । सावधानी बरतें; समीक्षा करें कि यह क्या करने वाला है; बैकअप है; चेतावनी शास्त्र!

#!/bin/bash
set -x

sudo rm -rf /Library/Frameworks/GHC.framework
sudo rm -rf /Library/Frameworks/HaskellPlatform.framework
sudo rm -rf /Library/Haskell
rm -rf ~/.cabal
rm -rf ~/.ghc
rm -rf ~/Library/Haskell
find /usr/bin /usr/local/bin -type l | \
  xargs -If sh -c '/bin/echo -n f /; readlink f' | \
  egrep '//Library/(Haskell|Frameworks/(GHC|HaskellPlatform).framework)' | \
  cut -f 1 -d ' ' > /tmp/hs-bin-links
sudo rm -f `cat /tmp/hs-bin-links`

आप अपनी कॉन्फ़िगरेशन फ़ाइलों को सहेजने और पुनर्स्थापित करने के लिए लाइनें जोड़ना चाह सकते हैं जैसे:

mv ~/.cabal/config /tmp/cabal-config 2>/dev/null || true
mv ~/.ghc/gchi.conf /tmp/ghci-config 2>/dev/null || true

तथा

mkdir ~/.cabal
mkdir ~/.ghc
cp /tmp/cabal-config ~/.cabal/config 2>/dev/null || true
cp /tmp/ghci-config ~/.ghc/gchi.conf 2>/dev/null || true

इनके साथ rm लाइनों को ब्रैकेट करें। यद्यपि आप अपने पुराने ~/.cabal/config को नहीं चाहते हैं या नहीं, अगर आप नई सामग्री में अपग्रेड कर रहे हैं।

ध्यान दें कि यह केवल वर्तमान उपयोगकर्ता की होम निर्देशिका से संबंधित है। यदि आपके पास एकाधिक उपयोगकर्ता खाते हैं जो सभी हास्केल का उपयोग करते हैं, तो अन्य खातों को भी सफाई की आवश्यकता होगी। ( ~ शामिल लाइनों दोहराएं।)


हाल ही में ओएस एक्स पर हास्केल प्लेटफार्म को हटाना पड़ा। अधिकांश अनइंस्टॉलर के माध्यम से साफ़ कर रहे हैं:

sudo /Library/Frameworks/GHC.framework/Versions/Current/Tools/Uninstaller

इन्हें मैन्युअल रूप से साफ करना होगा:

rm -r ~/.cabal
rm -r ~/.ghc
rm -r ~/Library/Haskell

वैकल्पिक रूप से, जैसा कि दस्तावेज में है

/Library/Haskell/doc/start.html

विकल्प के साथ अब एक कस्टम अनइंस्टॉल कमांड है,

/Library/Haskell/bin/uninstall-hs

आम तौर पर, कोई भी कार्य निर्देशिका में गतिविधि को ब्रैकेट करके किसी भी गतिविधि (इंस्टॉलर, ...) द्वारा बनाई गई फ़ाइलों को दस्तावेज़ित कर सकता है

echo >timestamp
[activity]
sudo find -x / -newer timestamp -print >snapshot.txt




haskell-platform