Mac m1 node js兼容问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:Mac m1 vue 运行 npm install 报错。


一、Mac m1 vue 运行 npm install 报错

示例:解决了几次,偶尔重新在mavn下载的新项目,又会报错。

1.2022-04-04版本的方案

1. 删除已安装的node和js

删除nodejs
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

2.安装node版本16.14.2

据说15版本一下的不支持。
node版本问题
给mac安装node.js的时候为了原生适配m1装了最新16.2.0版本
在官网换成LTS版本即可
https://nodejs.org/
直接下载x64的版本

3.设置淘宝镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v

4.cnpm I

	用yarn 没好使,没想到用cnpm i 正常了。猜测是npm安装包没有下载完整,其次还是升级了最新的npm版本。

5.运行h5项目报错

同样适用cnpm i 出现了两个错误:
1)错误 安装 chromedriver 失败的解决办法
解决:npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

2)TypeError: Class extends value undefined is not a constructor or null
npm install webpack -g // 全局安装
npm install webpack --save-dev //在项目开发依赖中安装

重点:npm install --ignore-scripts

mac环境 npm install的时候 chromedriver 报错 Only Mac 64 bits supported.
解决办法: 先运行 npm install --ignore-scripts

3.切换分支还会出现问题:

在使用npm install时遇到的问题 npm ERR code ERESOLVE

npx -p npm@6 npm i --legacy-peer-deps。
在使用npm install时遇到的问题 npm ERR code ERESOLVE
找了好久才解决,原来因为npm7.x对某些事情比npm6.x更严格。

通常,最简单的解决方法是将--legacy-peer-deps标志传递给npm(e.g.,npm i --legacy-peer-deps),或者使用npm@6。

提示:使用npm@6不需要卸载npm@7。使用npx指定npm的版本。例如:npx -p npm@6 npm i --legacy-peer-deps。

如果这不能立即起作用,也许可以先删除node_modules和package-lock.json。它们将被重新创建。

总结

提示:找了好多方法没好使,可能每个人的情况都不同,目前是这样解决的,看看后续还会出现什么错误吧。等更新吧。

node 版本切换

网上找了很多,觉得这个最适合我

1、控制nodejs版本可以使用模块n来管理,首先安装模块n

npm install -g n
2、将node升级到稳定版本

sudo n stable
3、安装最新版本

sudo n latest
4、安装指定版本(最好用)

sudo n v14.19.0 // 版本v自定义
5、检查目前安装了哪些版本的node,会出现已安装的node版本,选个就可以直接切换了

n
6、安装切换版本

n 14.19.0
7、删除已经安装的版本

sudo n rm 14.19.0
8、安装指定的npm

npm install npm@3.8.6 -g

<think>好的,我需要帮助用户了解macOS系统版本与Node.js版本的兼容性。首先,我应该概述一下两者之间的关系,说明为什么兼容性重要,比如新Node.js版本可能需要更新的系统支持,旧系统可能不支持新Node.js特性等。 接下来,我需要分步骤详细说明。可能需要先列出不同macOS版本对应的Node.js支持情况。例如,Catalina(10.15)、Big Sur(11)、Monterey(12)、Ventura(13)、Sonoma(14)等,然后对应每个系统版本,说明可兼容的Node.js版本范围。 然后,应该考虑用户如何检查自己的macOS版本和Node.js版本,给出终端命令,比如`sw_vers`和`node -v`。这部分需要确保命令正确,用户能直接复制粘贴使用。 之后,可能需要讨论常见问题,比如在旧系统上安装新Node.js可能遇到的错误,以及解决方案,如使用nvm管理多个版本,或者升级系统。同时,也要提到新Node.js版本可能依赖的库或工具,比如Xcode Command Line Tools,并指导用户如何安装。 还需要注意ARM架构的Mac(M1/M2芯片)与Intel的区别,说明Node.js从哪个版本开始原生支持ARM,可能影响性能或兼容性。比如Node.js 16.x及以上版本有ARM原生支持。 最后,总结建议用户根据系统版本选择合适的Node.js,并提供参考链接,如Node.js官方文档或兼容性表格,确保信息准确可靠。 需要确保整个回答结构清晰,步骤分明,用户能一步步理解和操作。同时,按照系统指令,正确使用LaTeX格式,不过这里可能数学公式不多,但如果有版本号范围,可能需要用行内公式,例如Node.js版本范围写成$v14.x$到$v16.x$。但根据用户给的例子,可能更多是普通文本,所以可能不需要太多LaTeX,但需检查是否符合格式要求。 另外,要使用中文,避免专业术语过多,必要时解释术语,如nvm是什么,如何帮助管理等。确保信息真实,比如确认最新的Node.js版本和支持的系统,可能需要查阅官方资源以确保数据准确,比如Node.js官网的发布日志或兼容性说明。 可能需要分段:兼容性概述、检查版本方法、各macOS版本对应的Node.js支持、常见问题解决、ARM架构注意事项、总结建议。这样用户能按部分查找所需信息。</think>macOS系统版本与Node.js版本的兼容性涉及系统底层依赖和Node.js的新特性支持。以下是逐步说明: --- ### 1. **兼容性核心原则** - **新版Node.js** 通常需要较新的macOS版本(如Node.js 18+需macOS 10.13或更高)。 - **旧版macOS** 可能无法运行高版本Node.js(如macOS 10.12 Sierra最高支持Node.js 14.x)。 - **Apple Silicon芯片(M1/M2)** 需Node.js 16.x+原生支持ARM架构。 --- ### 2. **如何检查当前版本** - **macOS版本**: 终端输入: ```bash sw_vers -productVersion ``` 输出示例:`13.5.1`(Ventura)。 - **Node.js版本**: 终端输入: ```bash node -v ``` 输出示例:`v18.16.0`。 --- ### 3. **macOS与Node.js版本对照表** | macOS版本 | 支持Node.js版本范围 | 备注 | |-----------------|-------------------------|-------------------------------| | macOS 14 Sonoma | $v16.x \sim v20.x$ | 建议使用最新LTS(如18.x) | | macOS 13 Ventura| $v14.x \sim v20.x$ | 需Xcode CLI Tools更新 | | macOS 12 Monterey| $v12.x \sim v18.x$ | Node.js 17+需OpenSSL 1.1+ | | macOS 11 Big Sur| $v10.x \sim v16.x$ | Node.js 15+需Python 3环境 | | macOS 10.15 Catalina| $v8.x \sim v14.x$ | 低于Node.js 14可能报`GLIBCXX`错误 | --- ### 4. **常见问题与解决** - **安装Node.js失败**: - 错误提示如`Error: EMFILE`或依赖缺失。 - **解决**:更新Xcode CLI Tools: ```bash xcode-select --install ``` - **旧系统运行高版本Node.js**: - 使用版本管理工具**nvm**安装兼容版本: ```bash nvm install 14.21.3 # 为Catalina安装Node.js 14.x ``` --- ### 5. **Apple Silicon(M1/M2)注意事项** - **原生支持**:Node.js 16.0+提供ARM架构二进制包,性能更优。 - **兼容模式**:若需运行x86环境,可通过`arch -x86_64 zsh`启动Rosetta终端。 --- ### 6. **推荐实践** - **普通用户**:选择Node.js LTS版本(偶数版,如18.x)以保障稳定性。 - **开发者**:通过**nvm**或**Volta**管理多版本Node.js,适配不同项目。 --- ### 参考资源 - Node.js官方发布日志:[https://nodejs.org/en/blog/releases](https://nodejs.org/en/blog/releases) - macOS系统要求:[Node.js文档](https://nodejs.org/en/download/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值