M1 macbook 安装node
项目用到了 node-sass
, 但是 node-sass
不支持 apple macbook m1 芯片, 所以只能使用 rosetta运行 x86 模式兼容。
记录一下处理方法:
使用 rosetta 启动终端
- cd /application,
copy terminal.app terminal-intel.app
- finder 打开 application 目录, terminal-intel.app-右键-简介,「使用 rosetta打开」
> arch
可以查看当前终端的运行模式
arch 也可以直接指定以某个模式启动应用,
arch -x86_64 zsh
(x64 模式启动一个zsh)。 但是容易混乱,直接复制一个terminal,然后修改app属性简单点。
安装node
- 因项目使用了老版本node12且不能升级,brew 无法安装,使用node官网 pkg包安装
- pkg安装后的global目录是
/usr/local/lib/node_modules
,普通用户权限不足 chmod a+w /dir_dir_dir
, 给普通用户添加写入权限,避免npm -g
安装包时权限不足报错rm -rf /node_modules
,因为之前在arm模式下错误安装了包, 删除下重新安装- 后续使用这个
terminal-intel
来启动这个老node项目
扩展
- 查找方案时, 也想过用其他包来替代
node-sass
, 这篇文章详细比较了node-sass
,dart-sass(js vm version)
,dart-sass(dart vm version)
之间的性能比较,dart-sass(js vm version)
直接使用当前js引擎执行,无兼容性问题, 但是耗时过大。