前言
最近在跑一些旧的项目的时候发现本地的 Java 跟 Python 环境都“太新”了。Java 默认的 11,python 默认的 3.x,跑项目的时候各种报错,想着就搞一下这两个的多环境,以后也方便切换。
Java 多环境
Java 的多环境要用到 jenv
1 | #用 brew 安装 jenv |
操作完成后,可以用 jenv versions
查看可以使用的 java 版本,以我本机的为例:
1 | ➜ jenv versions |
在想要切换版本的时候就是用 jenv global/local xxx
来切换,比如我想在当前目录使用 1.7 就是:
1 | jenv local 1.7 |
Python 多环境
跟 Java 的 jenv 类似,Python 也有一个 pyenv。但在 pyenv 之前,我们还得想想怎么安装 python@2
python@2 早就不维护了,brew 也在 2021 年下线了 python@2 的安装,想要安装 python@2 还得这样:
1 | cd ~ |
pyenv 的使用方式与 jenv 类似
1 | # 安装 pyenv |
刚才说到那么多 python@2 的安装,其实有更简单的方式,pyenv 本身就自带~
1 | pyenv install -l #展示可安装版本 |
PPS
遇到以下这些报错就要看看是不是版本问题了:
- gradle 编译的时候出现
Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory()
- 搜了下一下发现是本机的 Java11 太新了
- 项目中生成的 trace 文件在 chrome 打开的时候会白屏是 google 自己的问题。参考这里,打开 chrome://trace 再手动加载就行了。
参考资料:
Java 多环境: https://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions
Python 多环境:https://github.com/pyenv/pyenv
Python 2 安装:https://www.wyr.me/post/658