各个开发环境(python,java,node等)版本管理总结

1,288 阅读4分钟

1.nvm的功能

nvm全名node.js version management,一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs

  • 安装/管理nodejs

1、查看本地安装的所有版本

nvm list

2、安装,命令中的版本号可自定义,具体参考命令1查询出来的列表

nvm install 11.13.0

3、使用特定版本

nvm use 11.13.0

4、卸载

nvm uninstall 11.13.0

命令提示

  1. nvm arch :显示node是运行在32位还是64位。
  2. nvm install [arch] :安装node
  3. nvm list [available] :显示已安装的列表。
  4. nvm on :开启node.js版本管理。
  5. nvm off :关闭node.js版本管理。
  6. nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。
  7. nvm node_mirror [url] :设置node镜像。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  8. nvm npm_mirror [url] :设置npm镜像。。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。
  9. nvm uninstall  :卸载指定版本node。
  10. nvm use [version]
  11. nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。
  12. nvm version :显示nvm版本。version可简化为v。

2. jenv(java版本管理工具)

  1. 安装jenv
brew install jenv
  1. 设置环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
  1. 查看是否安装成功
 jenv

显示结果如下表示安装成功

jenv 0.4.4
Usage: jenv <command> [<args>]

Some useful jenv commands are:
   commands    List all available jenv commands
   local       Set or show the local application-specific Java version
   global      Set or show the global Java version
   shell       Set or show the shell-specific Java version
   rehash      Rehash jenv shims (run this after installing executables)
   version     Show the current Java version and its origin
   versions    List all Java versions available to jenv
   which       Display the full path to an executable
   whence      List all Java versions that contain the given executable

See `jenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/hikage/jenv#readme
  1. 将现有的jdk添加到jenv管理
jenv add jdk目录/1.8.0.jdk/Contents/Home jdk1.8 added
  1. 查看现有的版本
$ jenv versions
  system
* jdk11 (set by /Users/zhangfei/.jenv/versions/.java-version)

*代表当前使用中的版本

  1. 切换java版本
jenv local jdk11
  1. 设置全局
jenv global jdk11

3. Python虚拟环境管理:pyenv、pipenv、conda和virtualenv

1. pyenv使用,pyenv不支持windows,只支持mac和linux。官方提供了一个安装脚本。

常用命令

  1. 版本管理
  • pyenv versions 查看本机已有版本
  • pyenv install -l 查看可安装的版本
  • pyenv install 2.7.3 安装指定的版本
  • pyenv uninstall 2.7.3 卸载指定的版本
  1. 切换版本,分为3种,按优先级排序:shell local global
  • pyenv shell 2.7.3 优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本 pyenv shell --unset
  • pyenv local 2.7.3 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。这种方式,每次进入目录,执行python命令运行脚本时,会自动使用设置的版本。而且不会影响全局环境
  • pyenv global 2.7.3 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
  • pyenv rehash 每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
  1. 虚拟环境管理
  • pyenv virtualenv 2.7.10 env-2.7.10 创建虚拟环境,若不指定 python 版本,会默认使用当前环境 python 版本。如果指定 Python 版本,则一定要是已经安装过的版本,否则会出错。环境的真实目录位于 ~/.pyenv/versions 下
  • pyenv virtualenvs 列出当前虚拟环境
  • pyenv activate env-name 激活虚拟环境
  • pyenv deactivate 退出虚拟环境,回到系统环境
  • pyenv uninstall my-virtual-env 删除虚拟环境

小技巧 pyenv切换版本,也可以使用虚拟环境,比如可以使用pyenv local env-name,来达到当前目录使用虚拟环境的目的。相比pyenv activate env-name更加方便,每次进入目录自动切换版本。

2.pipenv使用和pipenv安装

pip install pipenv

想要shell 自动补齐,Linux or Mac 环境下,bash下如果能自动命令补全岂不是更好?请把如下语句追加到.bashrc或者.zshrc即可:

eval "$(pipenv --completion)"

pipenv常用命令

  • pipenv --python 3.6 创建虚拟环境,pipenv 会自动扫描系统寻找合适的版本信息,如果找不到的话,同时又安装了 pyenv 的话,则会自动调用 pyenv 下载对应版本的 python, 否则会报错。
  • pipenv shell 进入虚拟环境
  • pipenv install urllib3 安装虚拟环境或者第三方库,也可以指定版本pipenv install urllib3==1.22
  • pipenv uninstall urllib3 卸载一个库,全部卸载使用pipenv uninstall --all
  • pipenv update urllib3 更新指定包,不带参数pipenv update会卸载当前所有的包,并安装它们的最新版本
  • pipenv --where 查看项目根目录
  • pipenv --venv 查看虚拟环境目录
  • pipenv run 在虚拟环境中运行命令
  • pipenv check 检查安全漏洞
  • pipenv graph 显示当前依赖关系图信息
  • pipenv lock 锁定并生成Pipfile.lock文件
  • pipenv open 在编辑器中查看一个库

3.conda环境的建立、激活、退出、删除示例

conda create -n env python=3.5
conda activate env
conda deactivate
conda remove -n env --all

4. virtualenv虚拟环境的建立、激活、退出、删除示例

virtualenv -p /home/chong_zhang/.local/python3.5/bin/python3 --no-site-packages env # 建立环境就是建立目录
source ./env/bin/activate
deactivate
rm -r ./env/ # 直接删除建立的目录