原因
新mac系统默认Python是v3版本,导致在运行老的vue项目时,npm install出现如下报错信息。
解决方案
通过brew安装python2,涉及如下
- 安装Homebrew,
Homebrew是 mac 的包管理器,仅需执行相应的命令,就能下载安装需要的软件包,可以省掉自己去下载、解压、拖拽(安装)等繁琐的步骤。 - 安装pyenv,
pyenv可在不同python版本之间轻松切换,实现python环境隔离。
安装Homebrew
1. 安装
brew官网的安装脚本,需科学上网
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
备用:brew 镜像安装脚本,中科大镜像加速访问
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"
2. 配置
存在安装软件慢的问题,更改 Homebrew 的安装源,将其替换成中科大镜像。
- 替换 brew.git:
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
- 替换 homebrew-core.git:
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
- 替换 homebrew-cask.git(可选):
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
- 替换homebrew-bottles(可选):
首先要先区分你的mac用哪种终端工具,如果是 bash,则执行:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
若是 zsh,则执行:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
知识补充:Homebrew 主要由四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles
| 组成 | 功能 |
|---|---|
| Homebrew | 源代码仓库 |
| homebrew-core | Homebrew 核心源 |
| homebrew-cask | 提供macos应用和大型二进制文件的安装 |
| homebrew-bottles | 预编译二进制软件包 |
3. 使用
// 查询:
brew search 软件名
// 安装:
brew install 软件名
// 卸载:
brew uninstall 软件名
// 更新 Homebrew:
brew update
// 查看 Homebrew 配置信息:
brew config
4. 卸载
卸载官方脚本的备用脚本
/usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/uninstall)"
安装pyenv
1. 安装
brew install pyenv
2. 配置
根据自身环境,将下方内容加到对应文件中: .bashrc / .zshrc
export PYENV_ROOT=/usr/local/var/pyenv
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH="$PYENV_ROOT/shims:$PATH"
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
3. 使用
基本使用
| 命令 | 描述 |
|---|---|
pyenv --version | 查看 pyenv 的版本 |
pyenv versions | 罗列当前已安装的所有 python 环境,如果是当前正在使用的环境,则前面会有个 * |
pyenv help | 查看帮助 |
pyenv init | 如果输入 pyenv 之后使用 tab 不补全,可以使用该命令进行初始即可使用补全命令 |
安装环境
| 命令 | 描述 |
|---|---|
pyenv install -l | 显示可以安装的版本列表 |
pyenv install 版本号 | 安装指定版本的 python |
pyenv rehash | 更新本地数据库,安装指定版本的 python 后使用 |
环境应用
| 命令 | 描述 |
|---|---|
pyenv global 版本号 | 更改本机版本,重启不会造成再次更改 |
pyenv local 版本号 | 会在当前目录创建 .python-version 文件,并记录设置的 python 环境,每次进入该目录会自动设置成该 python 环境 |
pyenv shell 版本号 | 更改当前 shell 下使用的 python 版本,临时生效,优先级高于 global |
参考文档