本文主要是m芯片安装的一些问题分析,其中关于 node,其他系统安装可以借鉴。
node-sass失败
可能是 node-sass与node版本不一致导致。
nvm install失败问题
M2芯片 安装node 12 版本;
node 16版本之前的版本,没有适配 m芯片,可以通过提示:
Mac M1 nvm install失败问题1
2
3
4
5➜ sales_app git:(carDetail) nvm install 12.22.12
Downloading and installing node v12.22.12...
Downloading https://nodejs.org/dist/v12.22.12/node-v12.22.12-darwin-arm64.tar.xz...
-#O=-# # #
curl: (22) The requested URL returned error: 404
M芯片会默认带上 arm64 这个m芯片标识后缀,但node16版本之前没有,解决方法参考上面。
解决问题,可以充分阅读终端输出。
技巧:
通过 node 的淘宝源,查看node对应版本所有的node包文件:
https://registry.npmmirror.com/binary.html?path=node/v14.18.2/
Homebrew安装失败的解决
参考 http://www.daqizhe.cn/blog/119.html?tangsiqi130/article/details/130249316
关于arch -x86_64 zsh的解释:
其实,注意到在任何命令前增加 arch -x86_64,就可以以 X86 模式运行该命令。因此,运行:
arch -x86_64 $SHELL
就可以启动一个 X86 模式终端,使得之后运行的命令都在 X86 模式下运行。
M芯片安装 node-sass
比如 M芯片,安装 node-sass 4.12 版本前的,都会报错,
原因是安装的时候会拼接地址:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
> node-sass@4.7.2 install /Users/yewills/Documents/workplace/bk/xxxx/node_modules/node-sass
> node scripts/install.js
// 注意 这个 https://npmmirror.com/mirrors/node-sass/v4.7.2/darwin-x64-72_binding.node 地址将无法访问,
// 将转发到 https://registry.npmmirror.com/binary.html?path=node-sass/v4.7.2/
Downloading binary from https://npmmirror.com/mirrors/node-sass/v4.7.2/darwin-x64-72_binding.node
Cannot download "https://npmmirror.com/mirrors/node-sass/v4.7.2/darwin-x64-72_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> node-sass@4.7.2 postinstall /Users/yewills/Documents/workplace/bk/xxxx/node_modules/node-sass
> node scripts/build.js
去淘宝源,查看node-sass里面的资料文件,发现没有 darwin-x64-72_binding.node,_72 以下的有:https://npmmirror.com/mirrors/node-sass/ 将转发到 https://registry.npmmirror.com/binary.html?path=node-sass/v4.7.2/
逐个提高版本,最终在v4.12.0的版本找到了 darwin-x64-72_binding.node。
所以,M芯片,最多只能支持到 v4.12.0。
安装 node-sass 与设置 sass_binary_site的关系
1 | # .npmrc |
通过这个,很容易找到下载的node-sass,让下载顺利进行。
如果下载不到就会报错 gyp的,而并不是真的 python的问题
如题