oknozor / toml-bombadil

A dotfile manager with templating
MIT License
232 stars 24 forks source link

[BUG] `cargo install toml-bombadil` fails with compile error #259

Closed flying-sheep closed 3 weeks ago

flying-sheep commented 1 year ago

Describe the bug

   Compiling toml-bombadil v3.1.0
error[E0432]: unresolved import `watchexec::ignore`
   --> /Users/philipp.angerer/.cargo/registry/src/index.crates.io-6f17d22bba15001f/toml-bombadil-3.1.0/src/lib.rs:224:13
    |
224 |             ignore,
    |             ^^^^^^ no `ignore` in the root

To Reproduce

cargo install toml-bombadil
HarlemSquirrel commented 1 year ago

I just discovered this library after using the Python dotfiles for years. It sounds awesome but I hit this snag on a fresh Pop OS install.

HarlemSquirrel commented 1 year ago

Looks like we may just need a new version published. I was able to build and install from main

cargo install toml-bombadil --git https://github.com/oknozor/toml-bombadil.git --branch main
MohsenNz commented 10 months ago

I have this problem too on ubuntu 23.04 with rustc/cargo version 1.75.0

MohsenNz commented 10 months ago

Looks like we may just need a new version published. I was able to build and install from main

cargo install toml-bombadil --git https://github.com/oknozor/toml-bombadil.git --branch main

Thank you it worked for me.

flying-sheep commented 10 months ago

Would still be great to get a new release @oknozor

nhu commented 6 months ago

Hi all,

Install your tools always with a --locked or --frozen flag if you want to avoid the resolution of dependencies and use the same versions of dependencies the developer did during publishing to crates.io.

cargo install --locked toml-bombadil

https://doc.rust-lang.org/cargo/commands/cargo-install.html#dealing-with-the-lockfile

Actually you should not treat this as a bug. It is more an issue what the user expects when invoking cargo install. See, if you just install with cargo install toml-bombadil cargo does not take the Cargo.lock into account, which means it's trying to resolve the latest compatible versions of dependencies. If one of the dependencies does not respect SemVer, or violated SemVer somehow, this will result in a non compilable state. The same is true if the Cargo.toml version patterns are not correct.

oknozor commented 3 weeks ago

this should not be an issue anymore.