cargo-unlock 1.0.9

Remove Cargo.lock lockfile
cargo-unlock-1.0.9 is not a library.

cargo unlock

New Cargo versions sometimes write out a lockfile that triggers parse failures in old Cargo versions.

$  cargo +1.41.0 check
...
    Finished dev [unoptimized + debuginfo] target(s) in 0.91s

$  cargo +1.37.0 check
error: failed to parse lock file at: /git/testing/Cargo.lock

Caused by:
  invalid serialized PackageId for key `package.dependencies`

The cargo unlock subcommand simply deletes the offending lockfile so that the old Cargo can proceed. Install by running cargo install cargo-unlock.

vs rm Cargo.lock

cargo unlock has three advantages:

  • It still works if run from a workspace member, where the lockfile would be located at the workspace root rather than the current directory.

  • It works if run from a subdirectory of a crate rather than the crate root.

  • If like me you use export FIGNORE=argo.lock in your shell so that all autocompletes prefer Cargo.toml over Cargo.lock, this is easier to type.

License