diff --git a/multiversx_sdk_cli/dependencies/modules.py b/multiversx_sdk_cli/dependencies/modules.py index 7c7832b5..3db26eff 100644 --- a/multiversx_sdk_cli/dependencies/modules.py +++ b/multiversx_sdk_cli/dependencies/modules.py @@ -273,10 +273,13 @@ def is_installed(self, tag: str) -> bool: return all(dependency is not None for dependency in dependencies) def install(self, overwrite: bool) -> None: + self._check_install_env(apply_correction=overwrite) + module = dependencies.get_module_by_key("rust") tag: str = config.get_dependency_tag(module.key) - show_warning(f"We recommend using rust {tag}. If you'd like to overwrite your current version please run `mxpy deps install rust --overwrite`.") + if not overwrite: + show_warning(f"We recommend using rust {tag}. If you'd like to overwrite your current version please run `mxpy deps install rust --overwrite`.") logger.info(f"install: key={self.key}, tag={tag}, overwrite={overwrite}") if overwrite: @@ -289,6 +292,29 @@ def install(self, overwrite: bool) -> None: self._install_wasm_opt() self._install_twiggy() + def _check_install_env(self, apply_correction: bool = True): + """ + See https://rust-lang.github.io/rustup/installation/index.html#choosing-where-to-install. + """ + + current_cargo_home = os.environ.get("CARGO_HOME", None) + current_rustup_home = os.environ.get("RUSTUP_HOME", None) + if current_cargo_home: + show_warning(f"""CARGO_HOME variable is set to: {current_cargo_home}. +This may cause problems with the installation.""") + + if apply_correction: + show_warning(f"CARGO_HOME will be temporarily unset.") + os.environ["CARGO_HOME"] = "" + + if current_rustup_home: + show_warning(f"""RUSTUP_HOME variable is set to: {current_rustup_home}. +This may cause problems with the installation of rust.""") + + if apply_correction: + show_warning(f"RUSTUP_HOME will be temporarily unset.") + os.environ["RUSTUP_HOME"] = "" + def _install_rust(self, tag: str) -> None: installer_url = self._get_installer_url() installer_path = self._get_installer_path() diff --git a/pyproject.toml b/pyproject.toml index 2d4cab4f..933044e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "multiversx-sdk-cli" -version = "9.0.1" +version = "9.0.2" authors = [ { name="MultiversX" }, ]