2015-10-08 3 views
28

Ich habe eine Bibliothek gemachtWie verwende ich eine lokale unveröffentlichte Kiste?</p> <pre><code>cargo new my_lib </code></pre> <p>und ich möchte, dass die Bibliothek in einem anderen Programm verwenden:

cargo new my_program --bin 
extern crate my_lib; 

fn main { 
    println!("Hello, World!"); 
} 

, was muss ich tun, um dieses zu erhalten, um Arbeit?

Sie befinden sich nicht im selben Projektordner.

. 
├── my_lib 
└── my_program 

Hoffentlich macht das Sinn.

Ich dachte, ich wäre in der Lage den Weg nach den Cargo guide außer Kraft zu setzen, aber es heißt

Sie diese Funktion nicht nutzen kann Fracht zu sagen, wie lokale unveröffentlicht Kisten zu finden.

Dies ist, wenn Sie die neueste stabile Version von Rust (1.3) verwenden.

Antwort

35

einen Abhängigkeitsabschnitt zu Ihrer ausführbaren Cargo.toml hinzufügen und den Pfad angeben:

[dependencies.my_lib] 
path = "../my_lib" 

oder das Äquivalent alternativen TomL:

[dependencies] 
my_lib = { path = "../my_lib" } 

Überprüfen Sie die Cargo docs for specifying dependencies für weitere Einzelheiten aus, wie wie man ein Git-Repository anstelle eines lokalen Pfades verwendet.

+3

Gibt es eine Möglichkeit, eine lokale Kiste selbst zu verwenden (für die Entwicklung), während Cargo.toml auf crates.io verweist, damit andere meinen Code auch erstellen können? –

Verwandte Themen