如何跑vue2的老项目

38 阅读2分钟

对于多年前的vue2老项目,还是使用了node-sass的,真的是一跑npm install就崩溃。各种修复未果,重新梳理了下所需的环境,以下记录解决步骤,使用的机器是mac m3.

要点在于:node-sass已被废弃,安装的时候常会报错,且对nodejs版本有要求,node-sass所用到的node-gyp对于python版本又有要求。

切换nodejs版本

明确项目用到的node-sass版本,按照官方指示切换nodejs版本(不懂切换的需自行百度)

www.npmjs.com/package/nod…

切换python2

一般node-sass用到的node-gyp都是要求python2,而mac的新系统都是自带python3,因此需要切换成python2,我下载的是python@2.17.8版本。

// **使用pyenv**:pyenv是一个Python版本管理工具,它可以让你在同一台机器上安装和管理多个Python版本
brew install pyenv

// 然后,使用pyenv安装Python 2.7:
pyenv install 2.7.18

// shell用的是zsh,需配置如下
echo 'if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)"; fi' >> ~/.zshrc

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

source ~/.zshrc

// **使用完全路径**:如果你想要确保使用的是 `pyenv` 管理的 Python 2.7.18,可以使用其完全路径来调用 Python:
$(pyenv which python) --version


// 切换版本
pyenv shell 2.7.18

// 打印版本
python --version

// 如果打印出来的是python3,如:Python 3.9.6,

// 查看Python的当前版本,带*的是当前版本
pyenv versions

// 如果上一步打印出来的,带*是2.7.18的版本,但是python --version仍然是Python 3.XX,则修改alias,列出所有alias
alias

// 如果看到 `python` 被别名到了 `python3`,临时移除这个别名
unalias python

// 就可以了,不行的话再执行下pyenv shell 2.7.18

确保nodejs版本与python版本都切换好之后,在项目执行npm install。

解决node-sass还是不行的问题

npm uninstall node-sass
npm install --save-dev --unsafe-perm node-sass@4.14.1