static目录文件过多时,uni-app云打包的时候,会too many open files的报错
static目录文件过多时,uni-app云打包的时候,会too many open files的报错
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Windows 11 | HBuilderX |
家庭中文版 22621.2428 | ||
PC | ||
3.95 |
产品分类:uniapp/App
PC开发环境操作系统:Windows
手机系统:全部
手机厂商:华为
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
测试过的手机:
mate20操作步骤:
在static的资源目录下,放置1万个左右的小文件。云打包的时候,就会报错了。
预期结果:
正常打包
实际结果:
[HBuilder] 16:20:04.876 3.95
[HBuilder] 16:20:04.885 正在编译中...
[HBuilder] 16:20:32.177 Module build failed (from ./node_modules/postcss-loader/src/index.js):
[HBuilder] 16:20:32.183 **Error: EMFILE: too many open files, open**
'H:\path\to\project\package.json'
[HBuilder] 16:20:32.190 Module build failed (from ./node_modules/postcss-loader/src/index.js):
[HBuilder] 16:20:32.201 Error: EMFILE: too many open files, open 'H:\path\to\project\postcss.config.js'
[HBuilder] 16:20:32.211 at Object.openSync (node:fs:594:3)
[HBuilder] 16:20:32.221 at Object.readFileSync (node:fs:462:35)
[HBuilder] 16:20:32.231 at Object.Module._extensions..js (node:internal/modules/cjs/loader:1143:18)
[HBuilder] 16:20:32.242 at Module.load (node:internal/modules/cjs/loader:1004:32)
[HBuilder] 16:20:32.252 at Function.Module._load (node:internal/modules/cjs/loader:839:12)
[HBuilder] 16:20:32.262 at Module.require (node:internal/modules/cjs/loader:1028:19)
[HBuilder] 16:20:32.274 at require (node:internal/modules/cjs/helpers:102:18)
[HBuilder] 16:20:32.284 at module.exports (H:\path\to\project\node_modules\import-fresh\index.js:28:9)
[HBuilder] 16:20:32.297 at loadJs (H:\path\to\project\node_modules\cosmiconfig\dist\loaders.js:9:18)
[HBuilder] 16:20:32.298 at Explorer.loadFileContent (H:\path\to\project\node_modules\cosmiconfig\dist\createExplorer.js:230:12)
[HBuilder] 16:20:32.310 at H:\path\to\project\node_modules\cosmiconfig\dist\createExplorer.js:252:21
更多关于static目录文件过多时,uni-app云打包的时候,会too many open files的报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3.98版本已经解决。
更多关于static目录文件过多时,uni-app云打包的时候,会too many open files的报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 Uni-App 进行云打包时,如果 static
目录下的文件过多,可能会导致 too many open files
的错误。这是因为操作系统对单个进程打开文件的数量有限制,而云打包过程中需要同时打开大量的文件,超出了系统的限制。
解决思路
-
增加文件描述符限制: 你可以临时或永久增加系统的文件描述符限制,以允许更多的文件同时打开。
-
临时增加限制(重启后失效):
ulimit -n 65536
-
永久增加限制: 编辑
/etc/security/limits.conf
文件,添加以下内容:* soft nofile 65536 * hard nofile 65536
然后编辑
/etc/pam.d/common-session
和/etc/pam.d/common-session-noninteractive
文件,添加以下内容:session required pam_limits.so
-