ソースから Parity をビルドするための readme の指示に従い、このコマンドを実行します。
cargo build --release
その後:
~/.cargo/bin/cargo build --release
.. 指示通りに;どちらの場合も、プロンプトがハングしている間に次のメッセージが表示されます。
Blocking waiting for file lock on the registry index
Macを使用しています。
私は同じ問題を抱えており、rm -rf ~/.cargo/registry/index/*
。
ランニング cargo clean
は問題を修正しているようです。
これは、同じプロジェクトの2つのコンパイルを同時に実行すると発生します。コンパイラはロックファイルを使用して、データの競合の問題を回避します。いくつかの可能性があります。
2つのコンパイルを自分で実行した場合、解決策は明らかです。そのうちの1つをキャンセルする必要があります。
プロジェクトを自動的にコンパイルするIDEを使用する場合:ジョブが終了するのを待つか、IDEを閉じることができます。機能しない場合は、RLSがハングアップしている可能性があります。 pkill rls
だけで問題を解決できます。
最後の手段として、ロックを強制的に削除できます: 別の答え で述べたrm -rf ~/.cargo/registry/index/*
。
受け入れられた回答で提案されているCargoレジストリインデックスを削除する前に、他のプロセスが現在Parityまたはその他のRustパッケージをコンパイルしていないことを確認してください。
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ブレークポイントを使用したコードのデバッグも可能
他のrlまたは貨物を実行していないことを確認することが重要です。 Sudo pkill rls cargo
はそうではないことを保証する良い方法です。
通常、cargo buildコマンドを同時に2回実行すると、このエラーが発生します。 IDEを使用している場合、バックグラウンドでプラグインがカーゴコマンドを実行しているかどうかを確認してください。VSコードの場合はこれが当てはまります。