玖叶教程网

前端编程开发入门

mac M1 M2 安装 node-sass v4.x.x问题解决


hello呀,大家好,我是yangyang!今天,给大家分享一下关于在`mac M1 M2 安装 node-sass v4.x.x`出现的报错问题解决给大家分享一下

错误一:mac nvm Please use python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.

  • 原因:这个错误通常是由nvm引起的,它在安装Node.js时可能需要使用Python来构建某些依赖项。错误信息表明需要使用特定版本的Python。在你的情况下,错误消息指出你应该使用Python 3.9、3.8、3.7、3.6、3.5或者Python 2.7。解决这个问题的方法之一是确保你已经安装了其中一个支持的Python版本,并且它在你的系统$PATH中可用。
  • 为啥需要依赖py呢:在安装一些Node.js的包时,可能会依赖Python来编译某些原生模块或执行构建过程。这通常出现在使用npm安装需要编译C/C++代码或其他原生代码的Node.js包时,比如一些npm包需要通过编译来生成绑定的二进制文件。这些包可能依赖于node-gyp工具,它会使用Python来执行构建过程。node-gyp是一个跨平台的工具,用于编译Node.js的插件模块,这些模块通常用C++编写。它使用Python脚本来配置和构建这些原生模块。所以,当你使用包安装需要编译原生模块的Node.js包时,它可能会要求Python来执行这些编译过程。这也是为什么在一些Node.js包的安装过程中,会出现对Python版本的要求的原因之一。

首先,你可以检查你当前系统上安装了哪些Python版本,其次是你需要使用python环境管理工具来优化你工作环境

解决方案

  1. 首先,确认你安装哪些python版本,可以看下面的图。然后,我推荐使用pyenv来管理的你python环境


ai的答案

  1. 切换到python 3.9 或者 python2.7后,执行安装
pyenv global 3.9.8
# local 
#pyenv local 3.9.8

错误二:error [email protected]: The engine "node" is incompatible with this module. Expected version ">=16". Got "14.17.4"

这个报错,是因为有些包里面一定依赖了commander这个包,比如 使用mockjs时,它会依赖commander,而且是*,这样会导致安装最新的稳定版本(我遇到是这样)

"dependencies": {
"commander": "*"
}
  • 解决方案:#如果有mockjs(其他),暂时删除package.json下的mockjs,最后安装,还是不行,直接去github下载最新版本后解压重新命名为mockjs并放入项目里的node_modules

错误三:gyp ERR! stack Error: Command failed: ~/.pyenv/versions/3.9.8/bin/python3 -c import sys; print "%s.%s.%s" % sys.version_info[:3];

  • 解决方案:切换到python2.7
npm config set python ~/.pyenv/versions/2.7.18/bin/python2.7

pyenv基础使用

  • 安装:brew install pyenv
  • 设置环境变量
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
  • 重载终端
source ~/.bash_profile   # 如果您使用的是 bash
source ~/.zshrc          # 如果您使用的是 zsh
  • 使用


ai的答案

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言