2015-10-08 11 views
28

Ho fatto una libreria:Come utilizzare una cassa locale non pubblicata?

cargo new my_lib 

e voglio usare quella libreria in un programma diverso:

cargo new my_program --bin 
extern crate my_lib; 

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

quello che devo fare per ottenere questo a lavoro?

Non si trovano nella stessa cartella del progetto.

. 
├── my_lib 
└── my_program 

Speriamo che questo abbia senso.

ho pensato di essere in grado di ignorare il percorso come da Cargo guide, ma afferma

Non è possibile utilizzare questa funzione per dire Cargo come trovare casse di inediti locali.

Questo è quando si utilizza l'ultima versione stabile di Rust (1.3).

risposta

35

aggiungere una sezione dipendenza del vostro eseguibile Cargo.toml e specificare il percorso:

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

o l'equivalente TOML alternativo:

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

Scopri i Cargo docs for specifying dependencies per maggiori dettagli, come come utilizzare un repository git invece di un percorso locale.

+3

C'è un modo per utilizzare una cassa locale da solo (per lo sviluppo) lasciando Cargo.toml riferendosi a crates.io così altri possono anche creare il mio codice? –

Problemi correlati