2017-05-16 3 views
1

私は自分のクレートを公開しましたが、私はREADME.mdに小さな細部を含めることを忘れてしまったことに気付きました。私はその詳細をREADME.mdに含め、git commitpushをしました。バージョンを変更せずに自分のクレートを更新するには? the crates.io documentationから"cargo yank"の使い方は?

cargo yank

あなたは は、実際には1つの理由または別の(構文エラーのために壊れてしまうクレートのバージョンを公開ところ、 を含めるのを忘れて

機会が生じる可能性がありますファイルなど)。このような場合、Cargo は、クレートのバージョンのyankをサポートします。

$ cargo yank --vers 1.0.1 

$ cargo yank --vers 1.0.1 --undo 

私はそれを使用する方法を理解していません。なぜ2つのコマンド:--undoのない別のコマンド?私はそれらの両方を実行する必要がありますか?または1つだけ?どちら?

その後、crate package && crate publishを実行する必要がありますか?またはcargo yank ...?私のクレートは自動的に更新されますか?

答えて

5

あなたはできません。新しいバージョンを公開することなくあなたの木枠を更新できません。クレートレポジトリは明示的に設計されています。クレートは一度公開されると変更されません。ピリオド。

ヤンクは、深刻なセキュリティ上の脆弱性やユーザーのデータへの損害の可能性など、公開されているクレートに重大な問題がある場合、またははいです。 誰もがが何らかの理由でそのクレートのバージョンを使用しているはずの信号です。不完全なREADME.mdは実際にその基準を満たしていません。

新しいバージョンを公開するか、他の理由で新しいバージョンを公開するまで保留してください。


なぜ2つのコマンドがあるのですか?1つはバージョンをヤンクし、もう1つはバージョンをヤンクします。 Un-yankingはパブリッシングと同じではなく、あたかも最初にヤンクされたことがないかのようにヤンクされたクレートを元に戻すだけです。

+0

「それは何のシグナルですか? – Jodimoro

+1

@ Jodimoro Yanking。 –

+0

私は分かりません – Jodimoro

関連する問題