前言
最近接手了一个老项目,这个项目使用的打包工具是 fis3,一个非常老旧的打包工具。
当我拷贝代码并安装完依赖后发现项目无法启动,询问过同事才知道,要让Node版本保持在 v12 及以下才能够启动项目。
于是我执行如下命令来安装Node v12:
nvm install v12
但是该命令并没有正常运行,产生了如下的报错:
中间一串乱码打印我就不粘贴了……
在查阅相关问题经验时,发现M1芯片安装低版本 Node是有问题的,而我当前使用的电脑正是 M1 芯片。
问题原因
低版本的 Node 并不是基于 arm64 架构的,所以不适配 M1 芯片。
解决方案
在命令行终端工具(如:item2等)中执行如下命令:
# 让 shell 运行在 Rosetta2 下
$ arch -x86_64 zsh
执行如上的命令后,就可以顺利安装低版本 Node 了
# 安装 v12 版本 Node
$ nvm install v12
需要注意的是,如果电脑发生了重启操作,那么 arch -x86_64 zsh
命令所创建的环境将消失。如果此时需要安装低版本 Node,需要再次执行该命令。