安装多个版本node、java、python 等开发软件环境
使用nvm(Node.js Version Manager)来管理多个Node.js版本。
使用jenv来管理多个Java版本。
使用pyenv来管理多个Python版本。
以下是安装和使用这些版本管理器的基本步骤:
1. 安装多个版本Node.js
方式一(使用nvm)
安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 或者使用wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
重新启动终端或者运行以下命令以使用nvm:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
安装Node.js的不同版本:
nvm install 16
nvm install 20
切换到特定版本的Node.js:
nvm use 20
方式二(使用n)
·······
2. 安装多个版本的Java
方式二(手动配置来切换):
在Mac上安装多个版本的JDK,你可以按照以下步骤操作:
1、下载你需要的JDK版本。你可以从Oracle官网或者其他合适的源下载。
2、安装,默认安装到/Library/Java/JavaVirtualMachines/目录下,多个版本并不会覆盖。
3、配置环境变量。你可以使用.bash_profile,.zshrc或者其他shell配置文件来设置JAVA_HOME和PATH变量,具体查看下自己电脑使用什么:echo $SHELL
。不同类型的Shell所使用的配置文件不同,例如zsh使用的 .zshrc,而bash使用的 .bash_profile。
使用echo $SHELL
命令查看当前系统所使用的Shell类型
macOS Ventura默认使用的zsh
4、以下是一个示例,演示如何在.zshrc
中为两个不同版本的JDK设置环境变量:
# 进入当前用户的 home 目录 cd /Users/修改为自己MAC电脑用户名称
# 或者输入
cd ~
# 打开环境变量配置文件
open .zshrc
# 报错:.bash_profile does not exist.
# 第一次配置环境变量,先创建文件
touch .zshrc
# 再次执行打开环境变量配置文件
open .zshrc
.bash_profile 加入:
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home
export JAVA_21_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk21='export JAVA_HOME=$JAVA_21_HOME'
5、保存文件并重新加载配置(可以使用source ~/.zshrc
或重启终端)。使用java -version
命令来验证是否切换到了正确的JDK版本。
6、JDK 版本切换
我们定义了两个别名:jdk8 和 jdk21,其中默认配置为 jdk8。要切换版本,请在终端中输入命令 jdk8或者jdk21即可。
方式二(使用jenv)
安装jenv:
brew install jenv
将jenv添加到 ~/.bash_profile
或~/.zshrc
:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
安装不同版本的Java:
brew install openjdk@11
brew install openjdk@17
将Java版本添加到jenv:
jenv add /Library/Java/JavaVirtualMachines/openjdk-11.0.1.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.0.1.jdk/Contents/Home
设置全局或局部Java版本:
jenv global openjdk-11
3. 安装多个版本Python
方式一 (使用pyenv)
安装pyenv和pyenv-virtualenv:
brew update
brew install pyenv pyenv-virtualenv
将pyenv初始化添加到shell启动文件:
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
安装Python版本:
pyenv install 3.8.1
pyenv install 3.10.0
设置全局或局部Python版本:
pyenv global 3.8.1
创建虚拟环境:
pyenv virtualenv 3.8.1 my-project-381
在 macOS 系统上安装常用数据库(MySQL、PostgreSQL、MongoDB、Redis 等)的方法有很多种,比如通过 Homebrew、Docker 或官方安装包。以下是详细教程,涵盖不同安装方式及其配置。
一、通过Homebrew 安装数据库
Homebrew 是 macOS 上强大的包管理工具,可以用来安装大部分数据库。以下是常用数据库的安装与配置。
- 安装 Homebrew
如果没有安装 Homebrew,先执行以下命令安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装后更新 Homebrew:
brew update
- 安装 MySQL
# 安装
brew install mysql
# 启动 MySQL 服务
brew services start mysql
# 验证安装是否成功, 查看 MySQL 版本:
mysql --version
# 初始化 MySQL, 执行以下命令初始化 MySQL:
mysql_secure_installation
#根据提示设置 root 密码,禁用匿名用户,删除测试数据库等。
# 登录 MySQL
mysql -u root -p
- 安装 PostgreSQL
# 安装
brew install postgresql
# 启动 PostgreSQL 服务
brew services start postgresql
# 验证安装是否成功,查看 PostgreSQL 版本:
psql --version
# 初始化数据库
initdb /usr/local/var/postgres
# 连接到 PostgreSQL ,默认用户是当前 macOS 的用户名,可以用以下命令登录:
psql postgres
#创建新用户和数据库
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
- 安装 MongoDB
# 安装
brew tap mongodb/brew
brew install mongodb-community@6.0
# 启动 MongoDB 服务
brew services start mongodb/brew/mongodb-community
# 验证安装是否成功,查看 MongoDB 版本:
mongod --version
# 连接 MongoDB
mongosh
#常用命令
#查看所有数据库:
show dbs;
#创建/切换数据库:
use mydb;
# 插入文档:
db.mycollection.insertOne({ name: "John", age: 30 });
- 安装 Redis
# 安装
brew install redis
# 启动 Redis 服务
brew services start redis
# 验证安装是否成功,查看 Redis 版本:
redis-server --version
# 连接 Redis
redis-cli
# 常用命令
#查看所有键:
keys *
#设置键值对:
set mykey myvalue
# 获取键值:
get mykey
二、通过 Docker 安装数据库
如果需要快速运行数据库,Docker 是一个轻量级的选择。
-
安装 Docker
从 Docker 官方网站 下载并安装 Docker Desktop for Mac。 -
安装并运行数据库容器
# MySQL
# 拉取并运行 MySQL 容器:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:latest
# 登录 MySQL:
docker exec -it mysql-container mysql -uroot -p
#PostgreSQL
#拉取并运行 PostgreSQL 容器:
docker run --name postgres-container -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:latest
# 登录 PostgreSQL:
docker exec -it postgres-container psql -U postgres
# MongoDB
# 拉取并运行 MongoDB 容器:
docker run --name mongodb-container -p 27017:27017 -d mongo:latest
#连接 MongoDB:
docker exec -it mongodb-container mongosh
# Redis
# 拉取并运行 Redis 容器:
docker run --name redis-container -p 6379:6379 -d redis:latest
# 连接 Redis:
docker exec -it redis-container redis-cli
三、通过官方安装包安装数据库
如果不想使用 Homebrew 或 Docker,也可以直接下载官方安装包:
- MySQL
下载地址:MySQL 官方下载
安装后可以通过 System Preferences 启动和管理 MySQL 服务。 - PostgreSQL
下载地址:PostgreSQL 官方下载
提供 GUI 工具,如 pgAdmin,可以直观管理数据库。 - MongoDB
下载地址:MongoDB 官方下载 - Redis
下载地址:Redis 官方下载
四、数据库管理工具
为方便操作和管理数据库,可以使用以下图形化工具:
MySQL:
MySQL Workbench
DBeaver
PostgreSQL:
pgAdmin
TablePlus
MongoDB:
MongoDB Compass
Redis:
RedisInsight
五、常见问题与解决
# 1. 数据库端口冲突
# 检查占用的端口:
lsof -i :3306 # MySQL 示例
#停止占用的服务:
kill -9 <PID>
2. 无法连接数据库,确保服务已启动:
brew services list
# 检查防火墙或网络配置,确保本地和容器的端口是开放的。
# 通过 Homebrew、Docker 或官方安装包安装数据库各有优缺点,选择适合自己开发环境的方案。如果是多项目开发,推荐 Docker 化部署以保持环境一致性。
在 macOS 上,无论通过 Homebrew、Docker 还是官方安装包安装的数据库,都有相应的卸载和升级方法。
一、卸载和升级Homebrew 安装的数据库
- 卸载数据库
使用以下命令卸载指定数据库:
# MySQL:
brew uninstall mysql
#PostgreSQL:
brew uninstall postgresql
# MongoDB:
brew uninstall mongodb-community@6.0
# Redis:
brew uninstall redis
#彻底清理数据文件
#卸载后,数据库的数据文件可能仍然保留。要彻底清理:
rm -rf /usr/local/var/mysql # MySQL 数据文件
rm -rf /usr/local/var/postgres # PostgreSQL 数据文件
rm -rf /usr/local/var/mongodb # MongoDB 数据文件
rm -rf /usr/local/var/db/redis # Redis 数据文件
- 升级Homebrew 安装数据库
Homebrew 的升级命令非常简单,但需要注意升级后数据文件的兼容性。
升级 Homebrew, 确保 Homebrew 是最新版本:
brew update
brew upgrade
升级Homebrew 安装指定数据库
# MySQL:
brew upgrade mysql
# PostgreSQL:
brew upgrade postgresql
注意:PostgreSQL 升级后可能需要迁移数据。可以使用 pg_dump
备份数据库,然后还原到新版本:
pg_dumpall > backup.sql
brew upgrade postgresql
psql -f backup.sql postgres
# MongoDB:
brew upgrade mongodb-community@6.0
# Redis:
brew upgrade redis
检查升级后的版本
mysql --version
psql --version
mongod --version
redis-server --version
二、卸载和升级Docker 安装的数据库
Docker 容器的升级和卸载非常灵活。
- 卸载数据库容器
#停止容器:
docker stop <container_name>
#删除容器:
docker rm <container_name>
#查看镜像:
docker images
#删除数据库镜像:
docker rmi <image_id>
- 升级数据库容器
拉取新版本的镜像, 以 MySQL 为例:
docker pull mysql:latest
#备份旧数据
#在升级前,将旧容器中的数据备份到本地。可以通过挂载数据卷的方式备份:
docker cp <container_name>:/var/lib/mysql /path/to/backup
#重新运行新版本的容器
#删除旧容器后,使用新镜像重新运行数据库容器:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:latest
#验证数据完整性
#将备份的数据还原到新容器中。
三、卸载和升级官方安装包的数据库
官方安装包管理的数据库卸载和升级需要手动操作,通常与 GUI 管理工具结合使用。
- 卸载数据库
#MySQL
#打开终端,运行:
sudo rm -rf /usr/local/mysql /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf ~/Library/Preferences/com.oracle.mysql.*
#删除 MySQL 的数据目录:
sudo rm -rf /usr/local/var/mysql
#PostgreSQL
#运行以下命令卸载 PostgreSQL:
rm -rf /Library/PostgreSQL
rm -rf /private/etc/postgres-reg.ini
rm -rf ~/.psql_history
#MongoDB
#停止 MongoDB:
brew services stop mongodb-community
#删除 MongoDB 的安装文件和数据文件:
sudo rm -rf /usr/local/var/mongodb
sudo rm -rf /usr/local/bin/mongo*
#Redis
#停止 Redis 服务:
brew services stop redis
#删除 Redis 文件:
sudo rm -rf /usr/local/var/db/redis
sudo rm -rf /usr/local/etc/redis.conf
-
升级数据库
下载新版安装包
访问数据库的官方网站,下载最新的安装包。
MySQL:MySQL 下载页面
PostgreSQL:PostgreSQL 下载页面
MongoDB:MongoDB 下载页面
Redis:Redis 下载页面] -
升级时的数据迁移
MySQL 和 PostgreSQL: 使用导出导入工具进行数据迁移:
mysqldump -u root -p --all-databases > backup.sql
## 重新安装新版本后
mysql -u root -p < backup.sql
pg_dumpall > backup.sql
## 重新安装新版本后
psql -f backup.sql postgres
四、总结
安装方式 | 卸载方法 | 升级方法 |
---|---|---|
Homebrew | brew uninstall | brew upgrade |
Docker | 删除容器和镜像 | 拉取新镜像,备份还原数据 |
官方包 | 手动删除安装目录和配置文件 | 下载新版本手动覆盖安装 |
如果是生产环境,建议使用 Docker 来管理数据库服务,升级和卸载更加灵活,同时可以轻松切换版本和回滚操作。