2011-03-14 14 views
9

का उपयोग कर एक मणि के लिए निष्पादन योग्य बनाने का सबसे अच्छा तरीका रेक के उपयोग से एक मणि के लिए निष्पादन योग्य (bin/ निर्देशिका में एक फ़ाइल) बनाने का सबसे अच्छा तरीका क्या है? मेरे पास एक मणि है जिसे मैं निष्पादन योग्य बनाना चाहता हूं और मुझे पूरा यकीन नहीं है कि वास्तव में निष्पादन योग्य कैसे बनाया जाए।रेक

उत्तर

17

आपको अपने मणि के निष्पादन योग्य बनाने की आवश्यकता नहीं है। आदर्श रूप से, आपका निष्पादन योग्य लाइब्रेरी पर निर्भर करता है कि आपका मणि कार्यक्षमता के लिए प्रदान करता है। उदाहरण के लिए, the heroku executable in the Heroku gem पर एक नज़र डालें:

#!/usr/bin/env ruby 

lib = File.expand_path(File.dirname(__FILE__) + '/../lib') 
$LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib) 

require 'heroku' 
require 'heroku/command' 

args = ARGV.dup 
ARGV.clear 
command = args.shift.strip rescue 'help' 

Heroku::Command.run(command, args) 

यह आवश्यक कोड की न्यूनतम राशि कमांड लाइन और जहाज पार्स करने के लिए है कि प्रसंस्करण के लिए Heroku पुस्तकालय के बाकी के लिए रवाना डेटा। जब कोड बदलता है तो कुछ भी उत्पन्न करने की आवश्यकता नहीं होती है, क्योंकि निष्पादन योग्य स्वयं कार्य करने के लिए कोड पर निर्भर करता है।

4

आप गहरे लाल रंग का उपयोग करते हुए निष्पादन योग्य बनाने के लिए चाहते हैं, कीवर्ड आप देख रहे हैं Shebang

बस एक फ़ाइल (bin/yourexecutable) बनाने के लिए, ड्रॉप ".rb" विस्तार अगर आप चाहते हैं, जोड़ने है Shebang शीर्ष पर /usr/bin/env ruby का उपयोग करके और उस पर है।

#!/usr/bin/env ruby 
puts "hello world" 

chmod +x bin/yourexecutable के माध्यम से यह एक निष्पादन झंडा दें और आप इसे सीधे फोन करके यह शुरू कर सकते हैं।

varar:~ mr$ bin/yourexecutable 
hello world 
varar:~ mr$ 

अधिक जानकारी के लिए Wikipedia page देखें।

जाहिर है, यह विंडोज पर काम नहीं करेगा।

+0

मुझे हैशबैंग से अवगत है, मैं सिर्फ रेक के साथ इसे बनाने का सबसे अच्छा तरीका जानना चाहता हूं। –

+0

क्या कोई कारण है कि आप रेक का उपयोग करने पर जोर दे रहे हैं? आप फ़ाइल बना सकते हैं, इसे निष्पादन योग्य बना सकते हैं, और इसे 'टच बिन/यूरेक्सएक्सटेबल && chmod + x bin/yourexecutable && my_editor bin/yourexecutable' –

+0

@ ब्रैंडन टिलले के साथ संपादित कर सकते हैं: हाँ, मैं रेक के साथ मणि बनाने जा रहा हूं, और मुझे लगता है कि मणि बनाने और निष्पादन योग्य बनाने के लिए रेक का उपयोग करना आसान होगा। मुझे लगता है कि रेक के साथ प्रक्रिया को स्वचालित करना तेज़ होगा। –

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