macOS安装docker desktop 版失败
环境:macOS / M1 Pro
从官网下载最新的dmg,安装docker desktop时,提示错误信息:
installing vmnetd: retrieving vmnetd version from /Library/LaunchDaemons/com.docker.vmnetd.plist: reading plist /Library/LaunchDaemons/com.docker.vmnetd.plist: open /Library/LaunchDaemons/com.docker.vmnetd.plist: no such file or directory
解决方法:
运行一下brew命令
brew install --cask docker
重新运行下载下来的dmg安装包,问题就解决了
使用vite进行build打包时报错node进程内存溢出
环境:macOS / M1 Pro / node20
报错信息
FATAL ERROR:Reached heap limit Allocation failed - JavaScript heap out of memory
说明是node进程内存溢出,可以使用--max-old-space-size
参数进行限制,默认的node进程的内存一般在4G以内,可以通过设置环境变量来临时扩大内存
export NODE_OPTIONS="--max-old-space-size=8192";
yarn build
通过这种方法可以临时扩大node进程的内存,并且在关闭当前终端环境时,环境变量会自动失效。如果要设置永久生效,可以在~/.bashrc
文件中添加环境变量。
【vite-plugin-top-level-await】 Bindings not found
环境:macOS / M1 Pro / vue3 / node20
在vue项目中,使用了vite-plugin-top-level-await,但是在npm包中缺少了这个依赖
同时对应的还有另一个报错:
·
error during build:
Error: Bindings not found.
at Compiler.<anonymous>(/Users/xxx/modules/@swc/core/index.js:125:23)
最开始以为是 @swc 包有问题,但是其实是最开始的报错【vite-plugin-top-level-await】 Bindings not found的问题。安装一下这个包即可
npm install --save-dev vite-plugin-top-level-await
报错详情
macOS系统,M1 Pro芯片,node版本20.9.0,vue版本3,项目中引入的node依赖文件是fsevents
项目启动过程中显示报错
[ERROR] No loader is configured for ".node" files: node_modules/fsevents/fsevents.node
解决办法
修改项目中./node_modules/fsevents/fsevents.js 文件
//修改
const Native = require("./fsevents.node")
//更改为
const Native = window.require("./fsevents.node")
举一反三
对于这种「.node」文件的引入报错,基本都可以这样修改,将「require」改为「window.require」即可正常引入
后期补充
该方法并不是万能的,我又找到了一种方法,当上面添加「window」的方法不能用的时候,可以在「vite.config.js」中添加如下配置:
// vite.config.js
optimizeDeps: {
exclude: ["fsevents"],
},
原因:安装的sass和sass-loader版本过高,进行降级处理
坑:删掉node_modules文件夹,重新安装时会默认安装高版本,即使你在package.json里面写了sass和sass-loader的版本号
查看sass版本方法:进入node_modules文件夹,找到sass依赖,查看package.json中的版本号
解决办法:输入命令来单独安装指定版本
npm i sass@1.62.1
npm i sass-loader@10 -D