2012-12-04 31 views
49

पर एसबीटी स्थापित करें मैंने उबंटू पर एसबीटी स्थापित किया है।उबंटू

:~/bin/sbt/bin$ ls 
classes sbt  sbt-launch.jar  target 
jansi.jar sbt.bat sbt-launch-lib.bash win-sbt 
हालांकि

, यह काम नहीं करता जब भी मैं (एक ही निर्देशिका है जहाँ एसबीटी स्थित है से) एसबीटी शुरू करने के लिए प्रयास करें:

No command 'sbt' found, did you mean: 
Command 'skt' from package 'latex-sanskrit' (universe) 
Command 'sb2' from package 'scratchbox2' (universe) 
Command 'sbd' from package 'cluster-glue' (main) 
Command 'mbt' from package 'mbt' (universe) 
Command 'sbmt' from package 'atfs' (universe) 
Command 'lbt' from package 'lbt' (universe) 
Command 'st' from package 'suckless-tools' (universe) 
Command 'sb' from package 'lrzsz' (universe) 

मैं लिनक्स के लिए नया हूँ और मैं कैसे से निपटने के लिए पता नहीं है इस मुद्दे।

+1

वर्तमान निर्देशिका में फ़ाइल को निष्पादित करने के लिए आपको नाम के सामने "./" लिखना है, अन्यथा यह क्लासपाथ के अंदर निष्पादन योग्य खोजने की कोशिश करेगा। तो विशेष रूप से ऐसा करने के लिए आपको "./sbt" टाइप करना चाहिए था। यह वही है जो यहां गलत हो रहा था, हालांकि यह नीचे दिए गए अन्य उत्तरों का पालन करना और वास्तव में इसे स्थापित करना सबसे अच्छा है। –

+8

मुझे इस प्रश्न को बंद करने का कोई कारण नहीं दिख रहा है। एसबीटी स्कैला के लिए बहुत उपयोगी प्रोग्रामिंग टूल है और शायद यह स्टैक ओवरफ्लो नियमों को फिट करता है। –

+3

इस प्रश्न को बंद करने का निर्णय किसने किया ?? आप पहले क्यों नहीं मानते कि विकल्प क्या होंगे। सुपरसियर * नहीं * जगह है। 'sbt' वहां से संबंधित नहीं है। यह सही जगह है - और मैं इस प्रश्न/उत्तर में रुचि रखने वाले व्यक्तियों में से एक हूं। मैं एक सर्वर साइड प्रोग्रामर हूं कि "विषय पर" पर्याप्त नहीं है? – javadba

उत्तर

32

ऐसा लगता है कि आपने एसबीटी का एक ज़िप संस्करण स्थापित किया है, जो ठीक है। लेकिन मेरा सुझाव है कि यदि आप उबंटू पर हैं तो आप मूल डेबियन पैकेज स्थापित करें। इस तरह मैं इसे अपने उबंटू 12.04 पर स्थापित करने में कामयाब रहा। इसे यहां देखें: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html या इसे सीधे here से डाउनलोड करें।

+0

हां, समस्या इस तथ्य के कारण थी कि मैंने एक ज़िप संस्करण स्थापित किया है और स्थापना फाइलें किसी भी तरह से "टूटी हुई" थीं। – NoIdeaHowToFixThis

+1

एफवाईआई: लिंक टूटा हुआ है। यह होना चाहिए: http://dl.bintray.com/sbt/debian/ मुझे लगता है। –

+0

धन्यवाद। लिंक अपडेट किया गया। –

12

कोई कमांड sbt पाया

यह कह रहा है कि sbt अपने रास्ते पर नहीं है। ./sbt~/bin/sbt/bin से या कहीं भी sbt निष्पादन योग्य यह सत्यापित करने के लिए है कि यह सही ढंग से चलता है। यह भी जांचें कि आपके पास sbt निष्पादन योग्य पर निष्पादन अनुमतियां हैं। यदि यह काम करता है, तो अपने पथ पर ~/bin/sbt/bin जोड़ें और sbt कहीं से भी चलना चाहिए।

अपने पथ में निर्देशिका जोड़ने के बारे में question देखें।

path is set correctly सत्यापित करने के लिए LINUX पर which कमांड का उपयोग करें।

$ which sbt 
/usr/bin/sbt 

अन्त में, सत्यापित करने के लिए sbtsbt -help या इसी तरह चलाने की कोशिश कर रहा है: उत्पादन कुछ इस तरह दिखेगा। -help साथ उत्पादन कुछ इस तरह दिखेगा:

$ sbt -help 
Usage: sbt [options] 

    -h | -help   print this message 
    ... 
4

एक वैकल्पिक दृष्टिकोण के रूप में, आप एक फ़ाइल बुलाया sbt.sh को SBT Extras स्क्रिप्ट को बचाने और निष्पादन की अनुमति सेट कर सकते हैं। फिर इस फ़ाइल को अपने पथ में जोड़ें, या इसे अपनी ~/bin निर्देशिका के नीचे रखें।

यहां बोनस यह है कि यह आपके प्रोजेक्ट गुणों के आधार पर एसबीटी के सही संस्करण को डाउनलोड और उपयोग करेगा। यदि आप गिटहब और अन्य से खींचते हैं तो ओपन सोर्स प्रोजेक्ट्स को संकलित करते हैं, तो यह एक अच्छी सुविधा है।

152

यूबंटू पर एसबीटी स्थापित करने का सबसे आसान तरीका टाइपएफ़ द्वारा प्रदान किया गया deb पैकेज है।

भागो निम्नलिखित खोल कमांड:

  1. wget http://apt.typesafe.com/repo-deb-build-0002.deb
  2. sudo dpkg -i repo-deb-build-0002.deb
  3. sudo apt-get update
  4. sudo apt-get install sbt

और आप काम हो गया!

+4

महान काम करता है! लेकिन मुझे लगता है: "पता चला एसबीटी संस्करण 0.12.2 एसबीटी लॉन्चर नहीं मिल सकता 0.12.2 कृपया डाउनलोड करें: http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt से -लांच/0.12.2/sbt-launch.jar /home/leo/.sbt/.lib/0.12.2/sbt-launch.jar " तो यह पहले ही लिखा गया है कि क्या करना है। लेकिन यहां आपके संदर्भ के लिए: "mkdir -p /home/leo/.sbt/.lib/0.12.2/ wget -O /home/leo/.sbt/.lib/0.12.2/sbt-launch.jar http : //typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.2/sbt-launch.jar " – leo

+0

@leo इसके अलावा धन्यवाद। मैं इसे उत्तर में नहीं जोड़ूंगा क्योंकि यह प्रश्न के लिए विशिष्ट नहीं है, लेकिन यह एक ही 'sbt' स्क्रिप्ट का उपयोग कर सभी एसबीटी स्थापना के लिए प्रासंगिक है। – paradigmatic

+2

यह प्रतिलिपि/पेस्ट के तुरंत बाद काम करता है। धन्यवाद! – mdup

3

मेरा अनुमान है कि निर्देशिका ~/bin/sbt/bin आपके पथ में नहीं है।

वर्तमान निर्देशिका में मौजूद प्रोग्राम या स्क्रिप्ट निष्पादित करने के लिए आपको कमांड को उपसर्ग करना होगा।/, में के रूप में:

./sbt 

यह लिनक्स में एक सुरक्षा सुविधा तो एक दुर्भावनापूर्ण पार्टी (उदाहरण के लिए) अपने घर निर्देशिका में एक फ़ाइल छोड़ने के द्वारा सिस्टम आदेश (और अन्य कार्यक्रमों) का अधिभावी को रोकने के लिए है। 'Ls' नामक एक स्क्रिप्ट की कल्पना करें जो ls कमांड को निष्पादित करने से पहले आपकी/etc/passwd फ़ाइल को तृतीय पक्ष में ईमेल करता है ... या जो 'rm -rf' निष्पादित करता है।

उस ने कहा, जब तक आपको कुछ चाहिए नवीनतम स्रोत कोड से विशिष्ट, आप अपनी पोस्ट में जो पैराडाइमैटिक ने कहा है, उसे सबसे अच्छा कर रहे हैं, और इसे टाइपएफ़ रिपोजिटरी से इंस्टॉल करें।