@@ -68,11 +68,14 @@ pub fn run(options: Options) -> Result<()> {
6868 . then_some ( r#"cfg(any(target_os = "android", target_os = "ios"))"# )
6969 } ) ;
7070
71- let version = version. or ( metadata. version_req . as_deref ( ) ) ;
71+ let cargo_version_req = version. or ( metadata. version_req . as_deref ( ) ) ;
72+ let npm_version_req = version
73+ . map ( ToString :: to_string)
74+ . or ( metadata. version_req . as_ref ( ) . map ( |v| format ! ( "^{v}" ) ) ) ;
7275
7376 cargo:: install_one ( cargo:: CargoInstallOptions {
7477 name : & crate_name,
75- version,
78+ version : cargo_version_req ,
7679 branch : options. branch . as_deref ( ) ,
7780 rev : options. rev . as_deref ( ) ,
7881 tag : options. tag . as_deref ( ) ,
@@ -85,7 +88,7 @@ pub fn run(options: Options) -> Result<()> {
8588 . map ( PackageManager :: from_project)
8689 . and_then ( |managers| managers. into_iter ( ) . next ( ) )
8790 {
88- let npm_spec = match ( version , options. tag , options. rev , options. branch ) {
91+ let npm_spec = match ( npm_version_req , options. tag , options. rev , options. branch ) {
8992 ( Some ( version) , _, _, _) => {
9093 format ! ( "{npm_name}@{version}" )
9194 }
0 commit comments