node.js - ¿Cómo enlazar con una biblioteca local de Rust?(similar al enlace npm)
git rust-crates (3)
También es posible usar el file:
git file:
URL si su dependencia está en un repositorio de git local:
[dependencies.local_dep]
git = "file:/some/local/path"
También hay una característica muy útil cuando quiere usar su propia copia local de algún paquete. Puede especificar una ruta a dicho paquete en el archivo ~/.cargo/config
:
package-name = "/path/to/package"
Con esta configuración cuando algún otro paquete (llamémoslo a
) requiere package-name
, independientemente de lo que se declare en a
manifiesto sobre la ubicación del package-name
package-name
será compilado desde el árbol fuente especificado en este archivo de configuración. Esto es útil cuando necesita probar los cambios en una biblioteca de la que dependen otros proyectos.
Al desarrollar una biblioteca en un nodo, si desea desarrollar una biblioteca que solo existe localmente, antes de npm publish
, puede usar npm link /path/to/other/node_library
.
¿Cuál es el equivalente de esto para Rust? ¿Cómo se puede crear otro ejecutable de foo que se vincule con la biblioteca de la barra, sin necesidad de empujar la biblioteca de la barra a un control remoto git primero?
El tutorial oficial sobre la herrumbre muestra cómo hacer esto usando rustc
crudo, ¿cómo puede hacerse esto en Cargo.toml
?
(La documentación de carga muestra cómo crear una lib, pero ahora cómo enlazar con una que no tiene un repositorio remoto).
Tu puedes hacer:
[dependencies.local_dep]
path = "some/local/path"
Consulte https://github.com/gfx-rs/gfx-rs/blob/master/Cargo.toml para ver un ejemplo.
http://doc.crates.io/manifest.html#the-dependencies-section contiene un ejemplo de cómo hacer esto con el campo de path
(el cajón de geometry
):
[package]
# ...
[dependencies]
hammer = { version = "0.5.0", git = "https://github.com/wycats/hammer.rs" }
color = { git = "https://github.com/bjz/color-rs" }
geometry = { path = "crates/geometry" }