<!DOCTYPE html>
<html>
  <head>
    <title>Rubinius kompilieren - Rubinius</title>
    <meta content='text/html;charset=utf-8' http-equiv='content-type'>
    <meta content='de' http-equiv='content-language'>
    <meta content='Rubinius is an implementation of the Ruby programming language. The Rubinius bytecode virtual machine is written in C++. The bytecode compiler is written in pure Ruby. The vast majority of the core library is also written in Ruby, with some supporting primitives that interact with the VM directly.' name='description'>
    <meta content='Less Than Three. &lt;3. http://less.thanthree.com' name='author'>
    <link href='/' rel='home'>
    <link href='/' rel='start'>
    <link href='/doc/de/getting-started/requirements' rel='prev' title='Abhängigkeiten'>
    <link href='/doc/de/getting-started/running-rubinius' rel='next' title='Rubinius ausführen'>
    
    <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script><![endif]-->
    <script src="/javascripts/jquery-1.3.2.js" type="text/javascript"></script>
    <script src="/javascripts/paging_keys.js" type="text/javascript"></script>
    
    <script src="/javascripts/application.js" type="text/javascript"></script>
    <style>article, aside, dialog, figure, footer, header, hgroup, menu, nav, section { display: block; }</style>

    <link href="/stylesheets/blueprint/screen.css" media="screen" rel="stylesheet" type="text/css" />
    <link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
    <link href="/stylesheets/blueprint/print.css" media="print" rel="stylesheet" type="text/css" />
    <!--[if IE]><link href="/stylesheets/blueprint/ie.css" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
    <!--[if IE]><link href="/stylesheets/ie.css" media="screen" rel="stylesheet" type="text/css" /><![endif]-->
  </head>
    <body>
        <div class='container'>
      <div class='span-21 doc_menu'>
        <header>
                    <nav>
            <ul>
              <li><a href="/">Home</a></li>
              <li><a id="blog" href="/blog/">Blog</a></li>
              <li><a id="documentation" href="/doc/en/">Documentation</a></li>
              <li><a href="/projects/">Projects</a></li>
              <li><a href="/roadmap/">Roadmap</a></li>
              <li><a href="/releases/">Releases</a></li>
            </ul>
          </nav>

        </header>
      </div>
            <div class='span-3 last'>
        <div id='version'>
          <a href="/releases/1.2.0">1.2.0</a>
        </div>
      </div>

    </div>


        <div class="container languages">
      <nav>
        <span class="label">Sprachen:</span>
        <ul>
        
          <li><a href="/doc/de/"
          
            class="current"
          
          >de</a></li>
        
          <li><a href="/doc/en/"
          
          >en</a></li>
        
          <li><a href="/doc/es/"
          
          >es</a></li>
        
          <li><a href="/doc/ja/"
          
          >ja</a></li>
        
          <li><a href="/doc/pl/"
          
          >pl</a></li>
        
          <li><a href="/doc/ru/"
          
          >ru</a></li>
        
        </ul>
      </nav>
    </div>


        <div class="container doc_page_nav">
      
        
        <span class="label">Vorherige:</span>
        <a href="/doc/de/getting-started/requirements">Abhängigkeiten</a>
        

        <span class="label">Aufwärts:</span>
        <a href="/doc/de/">Inhaltsverzeichnis</a>

        
        <span class="label">Nächste:</span>
        <a href="/doc/de/getting-started/running-rubinius">Rubinius ausführen</a>
        
      
    </div>


    <div class="container documentation">
      <h2>Rubinius kompilieren</h2>

      

      

        <p>Rubinius kann vom Quellverzeichnis aus kompiliert und ausgeführt
werden. Es muss nicht systemweit installiert werden, um laufen zu
können. Die folgende Anleitung beschreibt die Installation von
Rubinius sowie das Ausführen aus dem Quellverzeichnis.</p>

<p>Rubinius nutzt <a href="http://llvm.org/">LLVM</a> für den eingebauten JIT (Just-in-time)
Compiler. Dabei hängt Rubinius von einer speziellen Version von LLVM
ab und setzt voraus, dass LLVM mit C++ RTTI (run-time type
information) Unterstützung gebaut wurde. Das <code>configure</code> Skript wird
automatisch diese Voraussetzungen überprüfen, wenn es nach einer
installierten Version von LLVM im System sucht. Falls du LLVM
installiert hast und die Voraussetzungen nicht erfüllt sind
bzw. Rubinius nicht korrekt mit der installierten Version von LLVM
kompiliert, kannst du <code>--skip-system</code> als Kommandozeilenflag beim
Aufruf des <code>configure</code> Skripts angeben. Dadurch wird automatisch die
korrekte Version von LLVM heruntergeladen und zusammen mit Rubinius
kompiliert.</p>

<h3 id="beschaffen-des-quellcodes">Beschaffen des Quellcodes</h3>

<p>Der Rubinius Quellcode ist als Tarball und als Projekt auf Github
verfügbar. Der Tarball kann <a href="http://rubini.us/download/latest">hier heruntergeladen
werden</a>.</p>

<p>Um Git zu nutzen:</p>

<ol>
  <li>Wechsle in dein Entwicklungsverzeichnis</li>
  <li><code>git clone git://github.com/evanphx/rubinius.git</code></li>
</ol>

<h3 id="rubinius-installieren">Rubinius installieren</h3>

<p>Wir empfehlen Rubinius in ein Verzeichnis zu installieren, bei dem man
weder <code>sudo</code> noch superuser Rechte braucht. Um Rubinius zu
installieren, befolge die folgenden Schritte:</p>

<ol>
  <li><code>./configure --prefix=/pfad/zum/installations/verzeichnis</code></li>
  <li><code>rake install</code></li>
  <li>Folge den Anweisungen, um das <em>bin</em> Verzeichnis von Rubinius deinem PATH hinzuzufügen</li>
</ol>

<p>Falls du vorhast Rubinius zur Ausführung deiner Anwendung zu
nutzen, ist dies die bevorzugte Methode. Allerdings kannst du
Rubinius auch direkt aus dem Quellverzeichnis ausführen. Mehr dazu im
nächsten Abschnitt.</p>

<h3 id="aus-dem-quellverzeichnis-ausfhren">Aus dem Quellverzeichnis ausführen</h3>

<p>Für die Entwicklung an Rubinius selbst sollte diese Option gewählt
werden.</p>

<ol>
  <li><code>./configure</code></li>
  <li><code>rake</code></li>
</ol>

<p>Möchtest du Rubinius lediglich ausprobieren, folge den Anweisungen, damit
das <em>bin</em> Verzeichnis deinem PATH hinzuzugefügt wird.</p>

<p>Falls du hingegen an Rubinius mitentwickeln willst, sollte das <em>bin</em>
Verzeichnis <em>nicht</em> deinem PATH hinzugefügt werden, da Rubinius einen
eigenständigen Ruby Interpreter benötigt, um korrekt den bootstrap
Prozess während des Kompiliervorgangs durchführen zu können.</p>


    </div>

        <div class="container doc_page_nav">
      
        
        <span class="label">Vorherige:</span>
        <a href="/doc/de/getting-started/requirements">Abhängigkeiten</a>
        

        <span class="label">Aufwärts:</span>
        <a href="/doc/de/">Inhaltsverzeichnis</a>

        
        <span class="label">Nächste:</span>
        <a href="/doc/de/getting-started/running-rubinius">Rubinius ausführen</a>
        
      
    </div>


    <div class="container">
      <div id="disqus_thread"></div>
<script type="text/javascript">
    var disqus_shortname = 'rubinius';
    var disqus_identifier = '/doc/de/getting-started/building/';
    var disqus_url = 'http://rubini.us/doc/de/getting-started/building/';

    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>

    </div>

        <footer>
      <div class='container'>
        <nav>
          <ul>
            <li><a href="http://twitter.com/rubinius">Follow Rubinius on Twitter</a></li>
            <li><a href="http://github.com/evanphx/rubinius">Fork Rubinius on github</a></li>
            <li><a href="http://engineyard.com">An Engine Yard project</a></li>

            <li id='credit'>
              Site design by
              <a href="http://less.thanthree.com">Less Than Three</a>
            </li>
          </ul>
        </nav>
      </div>
    </footer>
        <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
        </script>

        <script type="text/javascript">
        try {
        var pageTracker = _gat._getTracker("UA-12328521-1");
        pageTracker._trackPageview();
        } catch(err) {}</script>

  </body>

</html>
