Cargo télécharge les dépendances de votre projet Rust et compile votre projet.
Pour commencer à utiliser Cargo , apprenez-en plus sur The Cargo Book.
Pour commencer à développer Cargo lui-même , lisez le Guide du contributeur Cargo.
Le binaire Cargo distribué avec Rust est maintenu par l'équipe Cargo pour être utilisé par l'écosystème au sens large. Pour toutes les autres utilisations de cette caisse (en tant que binaire ou bibliothèque), elle est maintenue par l'équipe Cargo, principalement pour une utilisation par Cargo et non destinée à un usage externe (sauf en tant que dépendance transitive). Cette caisse peut apporter des modifications majeures à ses API.
Documentation du code : https://doc.rust-lang.org/nightly/nightly-rustc/cargo/
Cargo nécessite les outils et packages suivants pour être construit :
cargo
et rustc
Compilateur AC pour votre plateforme
git
(pour cloner ce dépôt)
Autres exigences :
Les éléments suivants sont facultatifs en fonction de votre plateforme et de vos besoins.
pkg-config
— Ceci est utilisé pour aider à localiser les packages système, tels que les en-têtes/bibliothèques libssl
. Cela peut ne pas être requis dans tous les cas, par exemple lors de l'utilisation d'OpenSSL fourni ou sous Windows.
OpenSSL — Nécessaire uniquement sur les systèmes de type Unix et uniquement si la fonctionnalité vendored-openssl
n'est pas utilisée.
Cela nécessite les en-têtes de développement, qui peuvent être obtenus à partir du package libssl-dev
sur Ubuntu ou openssl-devel
avec apk ou yum ou du package openssl
de Homebrew sur macOS.
Si vous utilisez la fonctionnalité vendored-openssl
Cargo, une copie statique d'OpenSSL sera construite à partir des sources au lieu d'utiliser le système OpenSSL. Cela peut nécessiter des outils supplémentaires tels que perl
et make
.
Sur macOS, les répertoires d'installation courants de Homebrew, MacPorts ou pkgsrc seront vérifiés. Sinon, il reviendra à pkg-config
.
Sous Windows, le Schannel fourni par le système sera utilisé à la place.
LibreSSL est également pris en charge.
Bibliothèques système facultatives :
La version utilisera automatiquement les versions commerciales des bibliothèques suivantes. Cependant, si elles sont fournies par le système et peuvent être trouvées avec pkg-config
, alors les bibliothèques système seront utilisées à la place :
libcurl
— Utilisé pour les transferts réseau.
libgit2
— Utilisé pour récupérer les dépendances git.
libssh2
— Utilisé pour l'accès SSH aux référentiels git.
libz
(alias zlib) — Utilisé pour la compression des données.
Il est recommandé d'utiliser les versions vendues car ce sont les versions testées pour fonctionner avec Cargo.
Tout d'abord, vous voudrez consulter ce référentiel
git clone https://github.com/rust-lang/cargo.git cd cargo
Avec cargo
déjà installé, vous pouvez simplement exécuter :
cargo build --release
Cargo est conçu pour être extensible avec de nouvelles sous-commandes sans avoir à modifier Cargo lui-même. Consultez la page Wiki pour plus de détails et une liste des sous-commandes connues développées par la communauté.
Les versions de Cargo coïncident avec les versions de Rust. Des notes de version de haut niveau sont disponibles dans le cadre des notes de version de Rust. Des notes de version détaillées sont disponibles dans ce référentiel sur CHANGELOG.md.
Vous avez trouvé un bug ? Nous serions ravis de le savoir !
Veuillez signaler tous les problèmes sur le système de suivi des problèmes GitHub.
Consultez le Guide du contributeur Cargo pour une introduction complète à la contribution à Cargo.
Cargo est principalement distribué selon les termes de la licence MIT et de la licence Apache (version 2.0).
Voir LICENSE-APACHE et LICENSE-MIT pour plus de détails.
Ce produit comprend un logiciel développé par le projet OpenSSL pour être utilisé dans la boîte à outils OpenSSL (https://www.openssl.org/).
Sous forme binaire, ce produit inclut un logiciel sous licence selon les termes de la licence publique générale GNU, version 2, avec une exception de liaison, qui peut être obtenue à partir du référentiel en amont.
Voir LICENCE TIERS pour plus de détails.