web-dev-qa-db-fra.com

La construction de la cargaison se bloque avec "Blocage de l'attente de fichier sur l'index de registre" après la création d'une parité à partir des sources

J'ai suivi les instructions readme pour la construction de Parity à partir de la source puis j'exécute cette commande:

cargo build --release

et alors:

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

.. comme indiqué; ce qui me fait recevoir le message suivant pendant que l'invite se bloque:

 Blocking waiting for file lock on the registry index

Je suis sur un Mac.

17
Naruto Sempai

J'ai eu le même problème et l'ai contourné avec rm -rf ~/.cargo/registry/index/*.

15
jvatic

Lancer cargo clean semble résoudre le problème.

23
Russel Winder

Cela se produit lorsque vous exécutez 2 compilations du même projet en même temps. Le compilateur utilise un fichier de verrouillage pour éviter les problèmes de course des données. Il y a quelques possibilités:

  • Si vous avez exécuté vous-même les 2 compilations, la solution est évidente: vous devez en annuler une.

  • Si vous utilisez un IDE qui compile automatiquement votre projet: vous pouvez attendre la fin du travail ou fermer l’EDI. Si cela ne fonctionne pas, c'est probablement à cause de RLS. Vous pouvez simplement pkill rls pour résoudre le problème.

  • En dernier recours, vous pouvez supprimer le verrou avec force: rm -rf ~/.cargo/registry/index/* comme indiqué dans une autre réponse .

6
Darth Boiethios

Avant de supprimer l'index du registre de fret comme suggéré dans la réponse acceptée, assurez-vous qu'aucun autre processus ne compile actuellement Parity ni aucun autre package Rust.

3
Afri

J'ai essayé de créer un nœud Polkadot en suivant les instructions Readme .

J'ai pu le construire en lançant les commandes suivantes (copier/coller dans Bash Terminal):

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;

J'ai ensuite essayé d'exécuter un nœud Polkadot avec les commandes suivantes (qui sont équivalentes):

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

Mais au lieu de cela il a montré ce qui suit:

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

J'ai trouvé que c'était causé par CLion (IDE Jetbrains).

J'ai résolu le problème en fermant CLion. J'ai utilisé l'éditeur de code Visual Studio à la place, ce qui permet également de déboguer le code Rust avec des points d'arrêt

1
Luke Schoen