2015-10-08 2 views
28

Я сделал библиотеку:Как использовать локальный неопубликованный ящик?

cargo new my_lib 

, и я хочу использовать эту библиотеку в другой программе:

cargo new my_program --bin 
extern crate my_lib; 

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

, что мне нужно сделать, чтобы получить эту Работа?

Они не находятся в одной папке проекта.

. 
├── my_lib 
└── my_program 

Надеюсь, это имеет смысл.

Я думал, что я был бы в состоянии перекрыть путь в соответствии с Cargo guide, но он заявляет

Вы не можете использовать эту функцию, чтобы сообщить Cargo, как найти местные неопубликованные ящики.

Это используется при использовании последней стабильной версии Rust (1.3).

ответ

35

Добавить раздел зависимостей для вашего исполняемого Cargo.toml и указать путь:

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

или эквивалентный альтернативный TOML:

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

Отъезд Cargo docs for specifying dependencies более подробно, как как использовать репозиторий git вместо локального пути.

+3

Есть ли способ использовать локальный ящик сам (для разработки), оставив Cargo.toml со ссылкой на crates.io, чтобы другие могли также создать мой код? –

Смежные вопросы