Open aliuq opened 2 years ago
你好,我也遇到了,我将vite降级到2.9.5还是会出现这种情况,请问你解决了吗
解决了吗
@ChenChunChang @yzlhdy 有一段时间没用了
@ChenChunChang @yzlhdy 有一段时间没用了
好吧,这是个神奇的问题
不用unocss就没问题,很难受
同样的问题
我把项目从SSD移动到机械硬盘可以解决这个问题
不知道咋解决,在windows系统下,目前我是这样解决的:
首先关闭虚拟内存,然后关闭睡眠模式(powercfg -h off
),然后相应的情况不会出现了。
/
开头的导入在 vite 的 watch 模式下都有这个问题(unocss 的 resolveId 是 /__uno.css
):
补充几个 issue:
我自己的解决方案:
0.52.3
pnpm patch @unocss/vite@0.52.3
...
-const RESOLVED_ID_WITH_QUERY_RE = /[\/\\]__uno(?:(_.*?))?\.css(\?.*)?$/;
-const RESOLVED_ID_RE = /[\/\\]__uno(?:(_.*?))?\.css$/;
+const RESOLVED_ID_WITH_QUERY_RE = /__uno(?:(_.*?))?\.css(\?.*)?$/;
+const RESOLVED_ID_RE = /__uno(?:(_.*?))?\.css$/;
...
- return match[1] ? `/__uno_${match[1]}.css` : "/__uno.css";
+ return match[1] ? `__uno_${match[1]}.css` : "__uno.css";
...
详细修改可以参考这个 commit: https://github.com/uni-helper/vitesse-uni-app/commit/9341828e24dd05fb3c7065e9e7de46c039bf94c9
我遇到类似的问题,一旦修改代码保存就报错。我把unocss去掉了就不报错了,很烦,有没有解决办法
DONE Build complete. Watching for changes...
运行方式:打开 微信开发者工具, 导入 dist\dev\mp-weixin 运行。
ready in 8167ms.
node:events:505
throw er; // Unhandled 'error' event
^
Error: EBUSY: resource busy or locked, lstat 'D:\pagefile.sys'
Emitted 'error' event on FSWatcher instance at:
at FSWatcher._handleError (file:///D:/Program/%E7%94%9F%E4%BA%A7%E9%A1%B9%E7%9B%AE/uniapp-vue3-template/node_modules/.pnpm/rollup@3.23.0/node_modules/rollup/dist/es/shared/watch.js:4246:10)
at ReaddirpStream.NodeFsHandler._boundHandleError (file:///D:/Program/%E7%94%9F%E4%BA%A7%E9%A1%B9%E7%9B%AE/uniapp-vue3-template/node_modules/.pnpm/rollup@3.23.0/node_modules/rollup/dist/es/shared/watch.js:2720:43)
at ReaddirpStream.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4082,
code: 'EBUSY',
syscall: 'lstat',
path: 'D:\\pagefile.sys'
}
ELIFECYCLE Command failed with exit code 1.
在 vite.config.js
中添加以下代码:
defineConfig({
// ...
build: {
watch: {
exclude: ['node_modules/**', "/__uno.css"]
},
}
})
重新运行项目试试看
对于没有使用unocss报错的情况呢?
使用 pnpm 覆写版本可以解决这个问题
// package.json
"pnpm": {
"overrides": {
"vite": "^4.4.9",
"rollup": "^4"
}
}
使用 pnpm 覆写版本可以解决这个问题
// package.json "pnpm": { "overrides": { "vite": "^4.4.9", "rollup": "^4" } }
能解释这样做的原因吗?我以为这是操作系统对资源处理有问题导致的,是构建工具导致的?
相关:
尝试两种解决办法:
在 vite.config.js
中添加以下代码:
defineConfig({
// ...
build: {
watch: {
exclude: ['node_modules/**', "/__uno.css"]
},
}
})
重新运行项目
更改依赖版本
使用 pnpm 覆写版本可以解决这个问题
// package.json
"pnpm": {
"overrides": {
"vite": "^4.4.9",
"rollup": "^4"
}
}
如果是因为 unocss 引起的问题,直接使用 unocss-preset-uni 即可
其背后的原理是安装后应用了一个 patch,它修改了 unocss 的 resolveId:/__uno.css
-> __uno.css
升级到 vite 5.x 之后,就不再需要这个 patch 了(虽然打上也不影响)
今天也遇到了类似问题,尝试重启、删除lock文件、删除node_modules目录、修改磁盘访问权限、更换项目目录、更换yarn安装都不行 最后发现是rollup的bug。 没有使用unocss,但有使用tailwind。 将package.json中的vite强制升级到5.x以后解决了。
uniapp相关依赖会有警告,不影响运行,就忽略了
├─┬ @dcloudio/uni-automator 3.0.0-alpha-4000020240127001
│ └─┬ @dcloudio/uni-cli-shared 3.0.0-alpha-4000020240127001
│ └─┬ @vue/server-renderer 3.3.11
│ └── ✕ unmet peer vue@3.3.11: found 3.3.12
└─┬ @dcloudio/vite-plugin-uni 3.0.0-alpha-4000020240127001
├── ✕ unmet peer vite@^4.0.0: found 5.0.12
└─┬ @vitejs/plugin-legacy 4.1.1
└── ✕ unmet peer vite@^4.0.0: found 5.0.12
问题描述
vite vue3 ts项目在文件监听过程中,操作一段时间就会出现错误信息
复现步骤
https://github.com/aliuq/mp-uniapp-vite-vue3
启动项目,编辑页面,几分钟就会出现报错
预期结果
正常运行
实际结果
系统信息:
微信小程序
3.0.0-alpha-3040820220424001
微信开发者工具