diff options
| -rw-r--r-- | xmake/modules/package/manager/cargo/install_package.lua | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/xmake/modules/package/manager/cargo/install_package.lua b/xmake/modules/package/manager/cargo/install_package.lua index 93ba2c59e..60c811291 100644 --- a/xmake/modules/package/manager/cargo/install_package.lua +++ b/xmake/modules/package/manager/cargo/install_package.lua @@ -52,8 +52,12 @@ function main(name, opt) require_version = "*" end - -- build dependencies - local sourcedir = path.join(opt.cachedir, "source") + -- @note we cannot use local cachedir as sourcedir, because it maybe will conflict with the parent root Cargo.toml + -- @see https://github.com/rust-lang/cargo/issues/10534 + -- local sourcedir = path.join(opt.cachedir, "source") + local sourcedir = path.join(os.tmpfile({ramdisk = true}) .. ".dir", "cargo", "source") + + -- generate Cargo.toml local cargotoml = path.join(sourcedir, "Cargo.toml") os.tryrm(sourcedir) if configs.cargo_toml then |
