web-dev-qa-db-ja.com

ソースからパリティを構築した後、「レジストリインデックスでファイルロックを待機しているブロッキング」で貨物のビルドがハングします

ソースから Parity をビルドするための readme の指示に従い、このコマンドを実行します。

cargo build --release

その後:

~/.cargo/bin/cargo build --release

.. 指示通りに;どちらの場合も、プロンプトがハングしている間に次のメッセージが表示されます。

 Blocking waiting for file lock on the registry index

Macを使用しています。

24
Naruto Sempai

私は同じ問題を抱えており、rm -rf ~/.cargo/registry/index/*

28
jvatic

ランニング cargo cleanは問題を修正しているようです。

33
Russel Winder

これは、同じプロジェクトの2つのコンパイルを同時に実行すると発生します。コンパイラはロックファイルを使用して、データの競合の問題を回避します。いくつかの可能性があります。

  • 2つのコンパイルを自分で実行した場合、解決策は明らかです。そのうちの1つをキャンセルする必要があります。

  • プロジェクトを自動的にコンパイルするIDEを使用する場合:ジョブが終了するのを待つか、IDEを閉じることができます。機能しない場合は、RLSがハングアップしている可能性があります。 pkill rlsだけで問題を解決できます。

  • 最後の手段として、ロックを強制的に削除できます: 別の答え で述べたrm -rf ~/.cargo/registry/index/*

10

受け入れられた回答で提案されているCargoレジストリインデックスを削除する前に、他のプロセスが現在Parityまたはその他のRustパッケージをコンパイルしていないことを確認してください。

4
Waqar Lim

Readme の指示に従って、ポルカドットNodeを作成しようとしました。

次のコマンドを実行してビルドできました(コピーしてBashターミナルに貼り付けます)。

git clone https://github.com/paritytech/polkadot;
cd polkadot; git checkout master;
rustup update nightly;
rustup target add wasm32-unknown-unknown --toolchain nightly;
rustup update stable;
rustup default stable;
cargo install --git https://github.com/alexcrichton/wasm-gc --force;
cargo install --git https://github.com/pepyakin/wasm-export-table.git --force;
brew install openssl; brew upgrade openssl;
rustc --version; cargo --version;
./build.sh;
cargo build;
cargo run -- --help;
./target/debug/polkadot --help;

次に、次のコマンド(同等)でPolkadot Nodeを実行しようとしました。

./target/debug/polkadot -- --chain=dev --validator --key Alice -d /tmp/alice;
cargo run -- --chain=dev --validator --key Alice -d /tmp/alice;

しかし、代わりに以下を示しました:

Blocking waiting for file lock on the git checkouts
Blocking waiting for file lock on build directory

CLion(Jetbrains IDE)が原因であることがわかりました。

CLionを閉じることで問題を解決しました。代わりにVisual Studio Codeエディターを使用しました。これにより、Rustブレークポイントを使用したコードのデバッグも可能

2
Luke Schoen

他のrlまたは貨物を実行していないことを確認することが重要です。 Sudo pkill rls cargoはそうではないことを保証する良い方法です。

1
Wilfried Kopp

通常、cargo buildコマンドを同時に2回実行すると、このエラーが発生します。 IDEを使用している場合、バックグラウンドでプラグインがカーゴコマンドを実行しているかどうかを確認してください。VSコードの場合はこれが当てはまります。

1
Homam Bahrani