报错提示
Error: Can't find Python executable "python", you can set the PYTHON env var
index.js:1 Uncaught Error: Module build failed: Error: ENOENT: no such file
原因:node与node-sass版本不匹配。代码的node-sass是v14版本(需要node15以下的版本),我的node 是 v15(M1仅兼容node v15.3.0 以上,因为低版本的 node 并不是基于 arm64 架构的)。
解决方案:安装 v14 及以下的老版本 Node
在终端输入:
arch -x86_64 zsh
通过这个命令可以让 shell 运行在Rosetta2下。
之后可以通过如下指令安装低版本 Node:
nvm install v12
在此之后,可以不用在 Rosetta2 中就可以使用安装的可执行文件,可以将 Node v15与其他节点版本互换使用。
主要是通过arch -x86_64 zsh 让shell运行在Rosetta2下 安装的npm包会经过Rosetta2转译
其他解决方案:
解决方法一:使用淘宝镜像源
在项目目录下新建 .npmrc文件
设置淘宝仓库地址
registry=https://registry.npm.taobao.org/
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
解决方法二:使用 cnpm
使用 cnpm 安装 node-sass 会默认从淘宝镜像源下载
cnpm install node-sass
解决方法三:下载 .node 到本地
根据自己所需的版本号环境下载
https://github.com/sass/node-sass/releases
安装时,指定变量 sass_binary_path,如:
npm i node-sass --sass_binary_path=/Users/lzwme/Downloads/darwin-x64-48_binding
Comments | NOTHING