2012-04-06 9 views
8

मैं अपने डेब रेपो के माध्यम से उबंटू सर्वर पर टाइपएफ़ स्टैक इंस्टॉल करना चाहता हूं, लेकिन सभी ओपनजेडीके पैकेजों को डाउनलोड किए बिना। मेरे पास ओरेकल जेडीके 6 स्थापित है और मेरे पीएटीएच में अद्यतन-विकल्प और ओपनजेडीके को कुछ सामान तोड़ने के माध्यम से स्थापित किया गया है।ओपनजेडीके के बजाय ओरेकल जावा 6 के साथ टाइपएफ़ स्टैक डेब रेपो का उपयोग कैसे करें?

ऐसा करने का सबसे अच्छा तरीका क्या होगा? यह प्रकट नहीं होता है कि मैं उपयोग कर सकते हैं apt-get --no-स्थापित-सिफारिश की गई है इस के लिए झंडा:

$> sudo apt-get install --no-install-recommends typesafe-stack sbt 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
The following extra packages will be installed: 
    ca-certificates-java default-jre default-jre-headless g8 java-common libaccess-bridge-java libaccess-bridge-java-jni openjdk-6-jre 
    openjdk-6-jre-headless openjdk-6-jre-lib 
Suggested packages: 
    equivs icedtea-plugin sun-java6-fonts ttf-sazanami-gothic ttf-kochi-gothic ttf-sazanami-mincho ttf-kochi-mincho ttf-telugu-fonts ttf-oriya-fonts 
    ttf-kannada-fonts ttf-bengali-fonts 
Recommended packages: 
    icedtea-netx icedtea-6-jre-cacao icedtea-6-jre-jamvm 
The following NEW packages will be installed: 
    ca-certificates-java default-jre default-jre-headless g8 java-common libaccess-bridge-java libaccess-bridge-java-jni openjdk-6-jre 
    openjdk-6-jre-headless openjdk-6-jre-lib sbt typesafe-stack 
0 upgraded, 12 newly installed, 0 to remove and 7 not upgraded. 
Need to get 33.0 MB of archives. 
After this operation, 86.9 MB of additional disk space will be used. 
Do you want to continue [Y/n]? n 
Abort. 

पुनश्च - मैं, typesafe ढेर घटकों मेरी मौजूदा सेटअप के साथ काम करते हैं पता है के बाद से मैं इसे स्थापित किया था और अपने पूर्व इंस्टॉलर के साथ ठीक चल रहा है।

+1

मैं उबंटू 11.10 में ओपनजेडीके 6 से छुटकारा पाने की कोशिश कर रहा था क्योंकि मुझे जावा 6 की आवश्यकता नहीं है (मुझे जावा 7 के साथ ठीक काम करने की ज़रूरत है) और ओपनजेडीके पर ओरेकल जेडीके पसंद करते हैं, लेकिन सभी जावा-निर्भर पैकेज सभी में रिपोज ड्रैग ओपनजेडीके 6. यह परेशान है लेकिन मैंने छोड़ दिया है। – Ivan

+0

मैंने अंततः डेब रेपो को छोड़ दिया, और इसके बजाय अपने [सार्वभौमिक इंस्टॉलर को उनके डाउनलोड पेज के नीचे] [http://typesafe.com/stack/download) का उपयोग किया। टैरबॉल को ऑप्ट/एक्स/टाइपएफ़ में निकाला गया, जोड़ा/ऑप्ट/टाइपएफ़/बिन ~/.profile पाथ, ओरेकल जेडीके 6 के साथ, फिर gtg। – Kurtosis

+1

पोस्टरिटी के लिए, मैं अब सबकुछ के लिए 'अपडेट-विकल्प' का उपयोग करता हूं, यहां [जावा] (https://github.com/byrongibson/scripts/tree/master/install/java) के लिए मेरी स्क्रिप्ट है, [स्कैला] (https: //github.com/byrongibson/scripts/tree/master/install/scala), और [हास्केल] (https://github.com/byrongibson/scripts/tree/master/install/haskell)। विवरण के लिए हास्केल रीडेम देखें। – Kurtosis

उत्तर

0

पुराना सवाल, अब मेरे ओपी के तहत मेरी टिप्पणियों में लंबे समय से उत्तर दिया गया है, बस इसे आधिकारिक बना रहा है। डेबियन-आधारित सिस्टम पर बस Debian Alternatives का उपयोग करें, ऊपर दी गई मेरी टिप्पणियों में सेटअप स्क्रिप्ट देखें। यह शानदार है, बस काम करता है, और निम्नलिखित लाभ प्रदान:

  1. का सही संस्करण का उपयोग करें जावा/Scala/हास्केल/आदि आप चाहते हैं, क्या नहीं Debian/Ubuntu/आदि रेपोस में है। उपयोगी जब रेपो संस्करण वर्तमान संस्करण को झेलता है, या आपके ऐप को रेपो से अलग मंच के एक विशिष्ट संस्करण की आवश्यकता होती है।
  2. हास्केल मंच। कई जीएचसी और हास्केल प्लेटफ़ॉर्म संस्करणों को साइड-बाय-साइड इंस्टॉल करें,/opt/haskell/ghc/[version] और/opt/haskell/platform/[version] में कहें, और update-alternatives --config के साथ आसानी से टॉगल करें। जावा, स्कैला, या किसी अन्य एसडीके/मंच के साथ ही।
  3. जीएचसी और हास्केल प्लेटफ़ॉर्म (या जावा, स्कैला, आदि) के नए संस्करणों को अपग्रेड करने या पिछले हटाने के बिना अपग्रेड करें। यदि यह आपके ऐप्स में प्रतिगमन का कारण बनता है, तो आसानी से पहले update-alternatives --config के साथ पूर्व कार्य संस्करण पर वापस रोल करें।
  4. जीएचसी और हास्केल प्लेटफ़ॉर्म की सभी फ़ाइलों को एक ही स्थान पर/opt/haskell/ghc/[version] और/opt/haskell/platform/[version] में एक साथ/usr/bin पर फैलाने के बजाय,/usr/lib, और/usr/apt-get या dpkg -i स्थापना के साथ साझा करें। फ़ाइलों को/opt/haskell/में रखा जाता है और अद्यतन-विकल्प नरम उन्हें उनके सिस्टम निर्देशिकाओं से जोड़ता है।
  5. update-alternatives --remove-all (स्क्रिप्ट शामिल) के साथ आसानी से अनइंस्टॉल करें, और rm -rf /opt/haskell।उपयोगकर्ता पथ के बजाय सिस्टम पथ के माध्यम से
  6. भागो Haskell (जैसे, .profile में अपने पथ पर/opt/Haskell/GHC/bin जोड़ने की आवश्यकता नहीं)
  7. अद्यतन-विकल्प का उपयोग कर के लिए इस्तेमाल किया हो जाओ, यह एक बहुत अच्छा उपकरण है कि प्रबंधन मैन्युअल रूप से स्थापित, बहु संस्करण सॉफ्टवेयर दर्द रहित बनाता है। जावा, स्कैला, और कोई अन्य बाइनरी या संकलित प्लेटफार्म सभी इसके साथ समान रूप से अच्छी तरह से काम करते हैं।
0

मैं वर्तमान में टाइपएफ़ रिपोजिटरी के बजाय उबंटू के अपने 'ब्रह्मांड' भंडार में 'स्कैला' और 'स्कैला-लाइब्रेरी' पैकेज देख रहा हूं। ये संकुल 'जावा 6 रनटाइम' पर निर्भर करते हैं (मैं उबंटू 12.10, 'क्वांटल' चलाता हूं)। यह टाइपएफ़ भंडार में पाए गए संकुलों का मामला नहीं हो सकता है, लेकिन सिद्धांत समान होना चाहिए।

equivs पैकेज एक नकली पैकेज ठूंठ बनाने के लिए इस्तेमाल किया जा सकता है (उदाहरण के लिए Package: local-java-runtime) जो छद्म रूप से अवांछित JRE (उदा .: Provides: java6-runtime) प्रदान करने के लिए दावा करता है।

इस तरह आप जिस भी स्काला-सहायक जेआरई की इच्छा रखते हैं उसे मैन्युअल रूप से इंस्टॉल कर सकते हैं, फिर आपके द्वारा बनाए गए स्टब पैकेज को इंस्टॉल करें, और apt-get install scala अब शिकायत नहीं करेगा (स्टब पैकेज एपीटी को जेआरई में खींचने के बिना निर्भरता को पूरा करेगा)।

इक्विटी पर पढ़ने के लिए here पर एक नज़र डालें और देखें कि यह कैसे किया जाता है।

बीटीडब्ल्यू, कम से कम लिनक्स वितरण के लिए मैं चल रहा हूं, मुझे लगता है कि 'openjdk-7-jre' पहले से ही 'जावा 6 रनटाइम' प्रदान करता है, इसलिए शायद 'जावा 6 रनटाइम' निर्भरता की तुलना में असुविधा कम होगी भूतकाल में।

संबंधित मुद्दे