Dieses Repository enthält den NIM -Compiler, NIMs STDLIB, Tools und Dokumentation. Weitere Informationen zu NIM, einschließlich Downloads und Dokumentation für die neueste Version finden Sie in der NIM -Website oder den Blearing Edge -Dokumenten.
Der Compiler unterstützt derzeit offiziell die folgenden Plattform- und Architekturkombinationen:
| Betriebssystem | Architekturen unterstützt |
|---|---|
| Windows (Windows XP oder größer) | x86 und x86_64 |
| Linux (die meisten Verteilungen) | x86, x86_64, ppc64 und armv6l |
| Mac OS X (10.04 oder mehr) | x86, x86_64, ppc64 und Apple Silicon (ARM64) |
Weitere Plattformen werden unterstützt, sie werden jedoch nicht regelmäßig getestet und sind möglicherweise nicht so stabil wie die oben aufgeführten Plattformen.
Das Kompilieren des NIM -Compilers ist recht einfach, wenn Sie folgende Schritte ausführen:
Erstens wird die C -Quelle einer älteren Version des NIM -Compilers benötigt, um die neueste Version zu starten, da der NIM -Compiler selbst in der NIM -Programmiersprache geschrieben ist. Diese C-Quellen sind im nim-lang/csources_v2 Repository verfügbar.
Als nächstes werden Sie aus der Quelle aufbauen, die Sie benötigen:
gcc 6.x/später oder eine Alternative wie clang , Visual C++ oder Intel C++ . Es wird empfohlen, gcc 6.x oder höher zu verwenden.git oder wget , um die benötigten Quellrepositories herunterzuladen.build-essential -Paket bei der Verwendung gcc auf Ubuntu (und wahrscheinlich auch andere Distributionen).Windows Hinweis: Cygwin und ähnliche POSIX -Laufzeitumgebungen werden nicht unterstützt.
Wenn Sie sich dann auf einem *Nix -System oder Windows befinden, sollten die folgenden Schritte NIM mit gcc , git und dem koch -Build -Tool aus Quelle kompilieren.
Hinweis: Die folgenden Befehle sind für die Entwicklungsversion des Compilers. Für die meisten Benutzer reicht es aus, die neueste stabile Version zu installieren. Schauen Sie sich die Installationsanweisungen auf der Website dazu an: https://nim-lang.org/install.html.
Für Paketwartungen: Siehe Verpackungsrichtlinien.
Holen Sie sich zunächst NIM von Github:
git clone https://github.com/nim-lang/Nim.git
cd Nim
Führen Sie als nächstes das entsprechende Build -Shell -Skript für Ihre Plattform aus:
build_all.sh (Linux, Mac)build_all.bat (Windows) Sobald Sie die Build -Schritte (unter Windows, Mac oder Linux) beendet haben, sollten Sie das bin -Verzeichnis zu Ihrem Pfad hinzufügen.
Siehe auch Bootstrapping The Compiler.
Siehe auch reproduzierbare Builds.
koch ist das Build -Tool, mit dem verschiedene Teile von NIM erstellt und unter anderem Dokumentation und Website generiert werden können. Das koch -Tool kann auch verwendet werden, um die NIM -Testsuite auszuführen.
Unter der Annahme, dass Sie Ihrem Pfad bin -Verzeichnis von NIM hinzugefügt haben, können Sie die Tests mit ./koch tests durchführen. Die Tests dauern eine Weile, um zu laufen, aber Sie können eine Teilmenge von Tests durchführen, indem Sie eine Kategorie angeben (z. B. ./koch tests cat async ).
Weitere Informationen zum koch -Build -Tool finden Sie in der Dokumentation in der Datei doc/koch.md.
nimble ist NIMs Paketmanager. Um mehr darüber zu erfahren, sehen Sie sich das nim-lang/nimble Repository.
Dieses Projekt besteht dank aller Menschen, die einen Beitrag leisten.
Siehe detaillierte Richtlinien. Wir begrüßen alle Beiträge zu NIM, unabhängig davon, wie klein oder groß sie sind. Alles von Rechtschreibfixes bis hin zu neuen Modulen, die in die Standardbibliothek aufgenommen werden sollen, werden begrüßt und geschätzt. Bevor Sie mit dem Beitrag beginnen, sollten Sie sich mit der folgenden Repository -Struktur vertraut machen:
bin/ , build/ - Diese Verzeichnisse sind leer, werden jedoch verwendet, wenn NIM gebaut wird.compiler/ - Der Compiler -Quellcode. Enthält auch Plugins in compiler/plugins .nimsuggest - Das Nimsuggest -Tool, das zuvor im nim-lang/nimsuggest -Repository gelebt hat.config/ - Die Konfiguration für den Compiler- und Dokumentationsgenerator.doc/ - Die Dokumentationsdateien im restrukturierten Format.lib/ - die Standardbibliothek, einschließlich:pure/ - Module in der Standardbibliothek in reinem Nim.impure/ - Module in der Standardbibliothek in reinem NIM mit Abhängigkeiten in anderen Sprachen.wrappers/ - Module, die Abhängigkeiten in anderen Sprachen einwickeln.tests/ - Enthält kategorisierte Tests für den Compiler und die Standardbibliothek.tools/ - die Tools, einschließlich niminst (hauptsächlich über koch aufgerufen).koch.nim - Das Tool zum Bootstrap -NIM, das Erstellen von C -Quellen, das Erstellen der Website und die Generierung der Dokumentation.Wenn Sie mit Github und/oder Git nicht mit einer Pull -Anfrage vertraut sind, lesen Sie bitte diesen Handbuch.
Im Idealfall sollten Sie sicherstellen, dass alle Tests bestehen, bevor Sie eine Pull -Anfrage einreichen. Wenn Sie jedoch kurz sind, können Sie die Tests, die für Ihre Änderungen spezifisch sind, nur durch Ausführen der entsprechenden Kategorien von Tests ausführen. CI prüft, dass alle Tests bestehen, bevor die Pull -Anfrage akzeptiert werden kann. Daher sollten nur bestimmte Tests harmlos sein. Integrationstests sollten in tests/untestable sein.
Wenn Sie nach Möglichkeiten suchen, um einen Beitrag zu leisten, schauen Sie sich bitte unseren Ausgabe -Tracker an. Es gibt immer viele Probleme, die als Easy bezeichnet werden. Dies sollte ein guter Ausgangspunkt für einen anfänglichen Beitrag zu NIM sein.
Sie können auch bei der Entwicklung von NIM helfen, indem Sie Spenden tätigen. Spenden können mit:
Wenn Sie Fragen haben, können Sie eine Frage im NIM -Forum oder über IRC auf dem #nim -Kanal einreichen.
Vielen Dank an alle unsere Unterstützer! [Backer werden]
Unterstützen Sie dieses Projekt, indem Sie Sponsor werden. Ihr Logo wird hier mit einem Link zu Ihrer Website angezeigt. [Sponsor werden]
Sie können auch eine Liste aller unserer Sponsoren/Unterstützer aus verschiedenen Zahlungsdiensten auf der Sponsorenseite unserer Website sehen.
Der Compiler und die Standardbibliothek sind unter der MIT -Lizenz lizenziert, mit Ausnahme einiger Module, die ausdrücklich angeben. Infolgedessen können Sie eine kompatible Lizenz (im Wesentlichen jede Lizenz) für Ihre eigenen Programme verwenden, die mit NIM entwickelt wurden. Sie sind ausdrücklich gestattet, kommerzielle Anwendungen mit NIM zu entwickeln.
Bitte lesen Sie die Datei Copying.txt für weitere Details.
Copyright © 2006-2024 Andreas Rumpf, alle Rechte vorbehalten.