从源代码构建奇偶校验后,货物构建与“阻止等待注册表索引上的文件锁定”挂起
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从源代码构建奇偶校验后,货物构建与“阻止等待注册表索引上的文件锁定”挂起相关的知识,希望对你有一定的参考价值。
我按照readme说明从源代码构建Parity然后执行此命令:
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个编译,解决方案很明显:您需要取消其中一个。
- 如果使用自动编译项目的IDE:您可以等待作业完成或关闭IDE。如果它不起作用,这可能是因为RLS挂了。你可以只用
pkill rls
来解决这个问题。 - 作为最后的手段,你可以强行删除锁定:
rm -rf ~/.cargo/registry/index/*
,如another answer所述。
另一答案
在按照接受的答案中的建议删除Cargo注册表索引之前,请确保当前没有其他进程正在编译Parity或任何其他Rust包。
另一答案
我尝试按照Readme说明创建一个Polkadot节点。
我能够通过运行以下命令(复制/粘贴到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节点(这些命令是等效的):
./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代码
以上是关于从源代码构建奇偶校验后,货物构建与“阻止等待注册表索引上的文件锁定”挂起的主要内容,如果未能解决你的问题,请参考以下文章