Cargo创建的默认文件树允许并行编译发布和调试版本,因为它们位于自己的目录中; target/release而且target/debug,分别.
同样允许并行编译stable/ nightly-compiler 是多么困难.例如,使用目录
target/debug/stabletarget/debug/nightly我知道它可以用jails /容器来完成,但我希望有更多的货物解决方案.
She*_*ter 12
我相信你重建依赖关系的主要问题不再存在:
$ cargo +nightly build
Updating crates.io index
Compiling either v1.5.0
Compiling itertools v0.8.0
Compiling example v0.1.0 (/private/tmp/example)
Finished dev [unoptimized + debuginfo] target(s) in 5.87s
$ cargo +stable build
Compiling either v1.5.0
Compiling itertools v0.8.0
Compiling example v0.1.0 (/private/tmp/example)
Finished dev [unoptimized + debuginfo] target(s) in 2.67s
$ cargo +nightly build
Finished dev [unoptimized + debuginfo] target(s) in 0.17s
$ cargo +stable build
Finished dev [unoptimized + debuginfo] target(s) in 0.16s
Run Code Online (Sandbox Code Playgroud)
我认为这是渐进式编译工作的副作用:编译器版本(或等效的东西)用作构建工件的散列算法的一部分.因此,来自多个工具链的伪像可以共存.
这并不能掩盖最终神器,它有一个固定的名字,将被覆盖.如果你真的需要保持两者并行,请继续阅读.
如下所述,是否可以停用货物中的文件锁定?,您可以CARGO_TARGET_DIR为您感兴趣的每个频道设置环境变量:
$ CARGO_TARGET_DIR=$PWD/stable rustup run stable cargo build
Compiling many v0.1.0 (file:///private/tmp/many)
Finished debug [unoptimized + debuginfo] target(s) in 0.89 secs
$ CARGO_TARGET_DIR=$PWD/nightly rustup run nightly cargo build
Compiling many v0.1.0 (file:///private/tmp/many)
Finished debug [unoptimized + debuginfo] target(s) in 0.62 secs
$ ./stable/debug/many
Hello, world!
$ ./nightly/debug/many
Hello, world!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
617 次 |
| 最近记录: |