既然要安装bazel了必然不用介绍bazel是什么了吧。。
官方文档描述,win环境中的bazel还是一个在实验的版本,看起来最简便的安装方法便是使用chocolatey包管理器来安装,所以接下来尝试使用chocolatey。
choco官网需要梯子访问,搭好梯子后,使用powershell键入命令:
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
或使用powershell v3+键入:
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
使用cmd的话键入:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
powershell安装若遇到禁止访问类的错误,需要调整执行策略,键入:
set-ExecutionPolicy RemoteSigned
然后选择[y].
正常情况下会安装好chocolatey,控制台或ps使用choco命令可以检查是否安装好。
MSYS2(Minimal SYStem 2),同cygwin、mingw一样是在win上使用的shell,更强大一些,包管理的源好像是更快。进入官网直接下载对应系统的版本就可以安装好。如果需要重度使用可以单独学习pacman的使用技巧。
安装好MSYS2后,在PATH环境变量中添加目录下的\usr\bin,例如
G:\MSYS2\usr\bin
添加好后进入下一步。
这个不用说吧,bazel使用的是python2,使用python3暂时不行 摊手.jpg。git自己装好。
使用管理员身份打开powershell或者cmd,键入
choco install bazel
会开始安装,如果需要安装到制定位置,后面加上–install-directory=’value’(未验证)。
首先他会安装msys2,因为前面安装好了,所以直接跳进了msys2环境进行一系列的包安装过程。
msys安装完成后,会开始安装python2,很迷的是我这里有python环境但他还是下载->解压->安装走了一遍,最后还是败了。。。但没什么妨碍,因为环境还是好的。
最后是bazel本体安装,一会就好了。
接下来不要急着关控制台,有一段很重要的指导在里面。
Ensure that msys2 dll is present in PATH to allow bazel to be run from non-msys2 shells
bazel installed to C:\ProgramData\chocolatey\lib\bazel
To use it in powershell or cmd, you should ensure your PATH environment variable contains
c:\tools\msys64\usr\bin
BEFORE both
c:\windows\system32 (because bash-on-windows' bash.exe will be found here, if it's installed)
any references to msysgit (like c:\program files (x86)\git\bin or c:\program files (x86)\git\cmd) (because git's vendored version of msys2 will interfere with the real msys2)
To use it in msys2, you should add that to your msys2 PATH:
export PATH=/C/ProgramData/chocolatey/lib/bazel:$PATH
You also need, in your msys2 environment (adjust paths for your system):
export JAVA_HOME="$(ls -d C:/Program\ Files/Java/jdk* | sort | tail -n 1)"
export BAZEL_SH=c:/tools/msys64/usr/bin/bash.exe
export BAZEL_PYTHON=c:/tools/python2/python.exe
See also https://bazel.build/docs/windows.html
首先保证msys2的dll等在环境变量里,前面配置的msys2环境变量已经包含了这些dll了,略。
接下来需要保证path中添加了msys2的 \usr\bin,和cmd的路径 c:\windows\system32,也已经早就配置好了。
git环境,没装的话现在还来得及,按描述把 \git\bin 或者 \git\cmd加入进path,为的是有一个git.exe可以用。
然后比较重要的操作,path中添加刚装好的bazel目录,默认是C:\ProgramData\Chocolatey\lib\bazel。
JAVA_HOME在安装java时应该已经配置过了,不用管。
最后在系统变量里新建一个BAZEL_SH,变量值是msys安装目录下的\usr\bin\bash.exe,例如
G:\MSYS2\usr\bin\bash.exe
再新建一个BAZEL_PYTHON,变量值是自己安装的python目录里的python.exe,例如
D:\python2\python.exe
控制台输入
bazel version
检查是否有错,安装好会显示bazel版本等信息。