Ich habe eine Bibliothek erstellt:
cargo new my_lib
und ich möchte diese Bibliothek in einem anderen Programm verwenden:
cargo new my_program --bin
extern crate my_lib;
fn main {
println!("Hello, World!");
}
Was muss ich tun, damit dies funktioniert?
Sie befinden sich nicht im selben Projektordner.
.
├── my_lib
└── my_program
Hoffentlich macht das Sinn.
Ich dachte, ich könnte den Pfad gemäß dem Frachtführer überschreiben , aber es heißt
Mit dieser Funktion können Sie Cargo nicht mitteilen, wie lokale unveröffentlichte Kisten zu finden sind.
Dies ist bei Verwendung der neuesten stabilen Version von Rust (1.3) der Fall.
quelle
version
undpath
für eine Abhängigkeit angeben und es wird daspath
Teilgit
stattversion
? So etwas,my_lib = { path = "...", git = "..." }
damit ich meine lokale Kopie während der Entwicklung und den Remote-Git verwenden kann, wenn jemand das Repo klont und versucht, das Programm zu kompilieren?Ich suchte nach einem Äquivalent zu
mvn install
. Diese Frage ist zwar kein Duplikat meiner ursprünglichen Frage, aber jeder, der über meine ursprüngliche Frage stolpert und dem Link hier folgt, findet eine vollständigere Antwort.Die Antwort lautet: "Es gibt kein Äquivalent zu
mvn install
weil Sie den Pfad in der Datei" Cargo.toml "hart codieren müssen, was auf dem Computer eines anderen wahrscheinlich falsch ist, aber Sie können ziemlich nahe kommen."Die vorhandene Antwort ist etwas kurz und ich musste ein bisschen länger herumwirbeln, um die Dinge tatsächlich zum Laufen zu bringen. Deshalb hier mehr Details:
rustc --explain E0432
enthält diesen Absatz, der die Antwort von Shepmaster widerspiegelt:Wechsel von,
use
umextern crate
mir folgendes zu bringen:Ich musste einen
pub
auf die Vorderseite dieser Funktion schlagenJetzt gehts.
quelle