一步一步说明使用Msys2安装Rust和Cargo进行mingw?

Tha*_*yen 9 windows mingw rust msys2

我试图在Cygwin上安装Rust但无法与mingw链接.现在我正在尝试使用Msys2安装它.我已经安装了Msys2和Mingw.我试着按照这个维基页面,但我在第2号迷路了:

使用安装程序下载并安装Rust + Cargo,但请务必禁用链接器和平台库选项.

它是指安装页面 "rustup-init.exe" 吗?我应该双击运行此文件还是从Msys2运行它?我试图从Msys2运行并获得选项:

1) Proceed with installation (default)  
2) Customize installation  
3) Cancel installation
Run Code Online (Sandbox Code Playgroud)

我不知道接下来该做什么.

我试图跟随弗朗西斯的回答:

Thang@Thang-Laptop MINGW64 /c/Software/Rust
$ ./rustup-init.exe

Rust Visual C++ prerequisites

Rust requires the Microsoft C++ build tools for Visual Studio 2013 or later,
but they don't seem to be installed.

The easiest way to acquire the build tools is by installing Microsoft Visual
C++ Build Tools 2015 which provides just the Visual C++ build tools:

  http://landinghub.visualstudio.com/visual-cpp-build-tools

Alternately, you can install Visual Studio 2015 or Visual Studio 2013 and
during install select the "C++ tools":

  https://www.visualstudio.com/downloads/

Install the C++ build tools before proceeding.

If you will be targetting the GNU ABI or otherwise know what you are doing then
it is fine to continue installation without the build tools, but otherwise,
install the C++ build tools before proceeding.

Continue? (Y/n) Y


Welcome to Rust!

This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.

It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:

  C:\Users\Thang\.cargo\bin

This path will then be added to your PATH environment variable by modifying the
HKEY_CURRENT_USER/Environment/PATH registry key.

You can uninstall at any time with rustup self uninstall and these changes will
be reverted.

Current installation options:

   default host triple: x86_64-pc-windows-msvc
     default toolchain: stable
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
2

I'm going to ask you the value of each these installation options.
You may simply press the Enter key to leave unchanged.

Default host triple?
x86_64-pc-windows-gnu

Default toolchain? (stable/beta/nightly/none)
stable

Modify PATH variable? (y/n)
y


Current installation options:

   default host triple: x86_64-pc-windows-gnu
     default toolchain: stable
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
1

info: updating existing rustup installation


Rust is installed now. Great!

To get started you need Cargo's bin directory (%USERPROFILE%\.cargo\bin) in
your PATH environment variable. Future applications will automatically have the
correct environment, but you may need to restart your current shell.

Press the Enter key to continue.


Thang@Thang-Laptop MINGW64 /c/Software/Rust
$ rustc --version
bash: rustc: command not found
Run Code Online (Sandbox Code Playgroud)

我添加了配置文件.不确定我是否遗漏任何东西

Thang@Thang-Laptop MINGW64 /c/Users/Thang/.cargo
$ cat config
[target.x86_64-pc-windows-gnu]
linker = "C:\msys2\mingw64\bin\gcc.exe"
ar = "C:\msys2\mingw64\bin\ar.exe"
Thang@Thang-Laptop MINGW64 /c/Users/Thang/.cargo
$ cargo --version
bash: cargo: command not found
Run Code Online (Sandbox Code Playgroud)

编辑2:
我刚刚重启笔记本电脑.它仍然不起作用,我检查msys2中的路径,没有货物文件夹

Thang@Thang-Laptop MINGW64 ~
$ echo $PATH
/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/
Run Code Online (Sandbox Code Playgroud)

但我在环境变量的用户变量中看到了它.

编辑3:

Thang@Thang-Laptop MINGW64 /c/Users/Thang/.cargo/bin
$ ./rustup default stable-x86_64-pc-windows-gnu
info: syncing channel updates for 'stable-x86_64-pc-windows-gnu'
info: latest update on 2017-10-12, rust version 1.21.0 (3b72af97e 2017-10-09)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: downloading component 'rust-mingw'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: installing component 'rust-mingw'
info: default toolchain set to 'stable-x86_64-pc-windows-gnu'

  stable-x86_64-pc-windows-gnu installed - rustc 1.21.0 (3b72af97e 2017-10-09)


Thang@Thang-Laptop MINGW64 /c/Users/Thang/.cargo/bin
$ ls
cargo.exe  rustc.exe    rust-gdb.exe   rustup.exe
rls.exe    rustdoc.exe  rust-lldb.exe

Thang@Thang-Laptop MINGW64 /c/Users/Thang/.cargo/bin
$ rustc --version
bash: rustc: command not found
Run Code Online (Sandbox Code Playgroud)

Fra*_*gné 24

您在链接到生锈之前的日期链接到Windows上的" 使用Rust"将安装程序替换为安装Rust的默认选项.安装程序仍然可用,但如果可能,您应该使用rustup,因为它可以轻松更新并一次使用多个工具链(例如,稳定,测试版和夜间).如果必须使用安装程序,只需选择x86_64-pc-windows-gnu安装程序并按照Windows上的" 使用Rust"页面中的步骤操作.如果您正在使用rustup,请继续阅读.

默认情况下,在Windows上安装rustup编译器和瞄准MSVC工具链,而不是GNU/MinGW的-W64工具链工具.在初始菜单中,选择2)自定义安装.当被要求主持人三人时,请输入x86_64-pc-windows-gnu.然后选择其他问题,然后继续安装.

注意:如果已经安装了rustup,那么重新运行rustup-init将不会实际安装所请求的工具链.相反,rustup toolchain install stable-x86_64-pc-windows-gnu如果您已经拥有基于MSVC的工具链,请运行.然后运行rustup default stable-x86_64-pc-windows-gnu以将基于GNU的工具链设置为默认值.

Rustup将自动安装MinGW链接器和平台库(作为rust-mingw组件的一部分),并拒绝让您删除它们.如果您更喜欢使用随MSYS2一起安装的MinGW链接器和库,则需要创建一个.cargo/config文件(在您的配置文件目录中,即C:\Users\you\.cargo\config,如果此配置特定于项目,则在项目的目录中).该文件的内容可能如下所示:

[target.x86_64-pc-windows-gnu]
linker = "C:\\msys2\\mingw64\\bin\\gcc.exe"
ar = "C:\\msys2\\mingw64\\bin\\ar.exe"
Run Code Online (Sandbox Code Playgroud)

Rustup将修改PATH环境变量,除非你告诉它不要.但是,MSYS2 PATH在启动时默认重置,因此当您尝试调用cargorustc从MSYS2 shell 调用时,它可能找不到它.你需要编辑.profile/ .bash_profile脚本来设置PATH正确(你需要预先/c/Users/yourname/.cargo/bin:PATH).

  • 请注意,使用以下命令将 gcc 安装到 msys:`pacman -S mingw-w64-x86_64-toolchain`(或 x86 变体) (2认同)