Rustでcargo fix時に出たエラーの原因と対応
はじめに
rustfixというツールを使用して
cargo fix
やcargo clippy --fix
実行時に以下のようなエラーが発生したerror: no VCS found for this package and `cargo fix` can potentially perform destructive changes; if you'd like to suppress this error pass `--allow-no-vcs`
- その原因と対処について調べたので自分への備忘録として記事にしました。
原因
- VCS(Version Control System: バージョン管理システム)が見つからないというエラー
- バージョン管理システムを使っていないと判断した場合(例えば、フォルダに
.git
ファイルが無い)場合にこのエラーが出る - fixは自動で修正 = コードを変更されるため、バージョン管理システムのサポートなしでfixを使用することは安全ではないと見なされてしまうため、エラーになってしまう
対処
- バージョン管理システムを使うようにする
- 後ろに
--allow-no-vcs
とフラグを追加し、バージョン管理システムがなくても変更を許可するようにするcargo fix
->cargo fix --allow-no-vcs
cargo clippy --fix
->cargo clippy --fix --allow-no-vcs