React前端启动报ENOENT错误:找不到指定路径‘E:\...\С:’求助
前端启动失败问题排查与解决
问题现象
后端运行正常,但启动前端执行npm start时出现文件找不到错误,错误路径显示为E:\expense-tracker_fullstack-master\frontend\С:(注:此处为西里尔字母С,非拉丁字母C)。
执行命令及报错信息
PS E:\expense-tracker_fullstack-master\frontend> npm start > frontend@0.1.0 start > react-scripts --openssl-legacy-provider start node:internal/fs/utils:350 throw err; ^ Error: ENOENT: no such file or directory, lstat 'E:\expense-tracker_fullstack-master\frontend\С:' at Object.realpathSync (node:fs:2655:7) at Object.<anonymous> (E:\expense-tracker_fullstack-master\frontend\node_modules\temp-dir\index.js:9:13) at Module._compile (node:internal/modules/cjs/loader:1256:14) at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) at Module.load (node:internal/modules/cjs/loader:1119:32) at Module._load (node:internal/modules/cjs/loader:960:12) at Module.require (node:internal/modules/cjs/loader:1143:19) at require (node:internal/modules/cjs/helpers:119:18) at Object.<anonymous> (E:\expense-tracker_fullstack-master\frontend\node_modules\tempy\index.js:5:17) at Module._compile (node:internal/modules/cjs/loader:1256:14) { errno: -4058, syscall: 'lstat', code: 'ENOENT', path: 'E:\\expense-tracker_fullstack-master\\frontend\\С:' }
调试日志
0 verbose cli C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js 1 info using npm@9.8.1 2 info using node@v18.18.0 3 timing npm:load:whichnode Completed in 3ms 4 timing config:load:defaults Completed in 3ms 5 timing config:load:file:C:\Users\alexm\AppData\Roaming\nvm\v18.18.0\node_modules\npm\npmrc Completed in 4ms 6 timing config:load:builtin Completed in 5ms 7 timing config:load:cli Completed in 2ms 8 timing config:load:env Completed in 1ms 9 timing config:load:file:E:\expense-tracker_fullstack-master\frontend\.npmrc Completed in 0ms 10 timing config:load:project Completed in 1ms 11 timing config:load:file:C:\Users\alexm\.npmrc Completed in 1ms 12 timing config:load:user Completed in 1ms 13 timing config:load:file:C:\Program Files\nodejs\etc\npmrc Completed in 0ms 14 timing config:load:global Completed in 0ms 15 timing config:load:setEnvs Completed in 1ms 16 timing config:load Completed in 15ms 17 timing npm:load:configload Completed in 15ms 18 timing config:load:flatten Completed in 3ms 19 timing npm:load:mkdirpcache Completed in 0ms 20 timing npm:load:mkdirplogs Completed in 0ms 21 verbose title npm start 22 verbose argv "start" 23 timing npm:load:setTitle Completed in 2ms 24 timing npm:load:display Completed in 0ms 25 verbose logfile logs-max:10 dir:C:\Users\alexm\AppData\Local\npm-cache\_logs\2023-10-07T11_30_24_913Z- 26 verbose logfile C:\Users\alexm\AppData\Local\npm-cache\_logs\2023-10-07T11_30_24_913Z-debug-0.log 27 timing npm:load:logFile Completed in 43ms 28 timing npm:load:timers Completed in 0ms 29 timing npm:load:configScope Completed in 0ms 30 timing npm:load Completed in 97ms 31 silly logfile start cleaning logs, removing 3 files 32 silly logfile error removing log file C:\Users\alexm\AppData\Local\npm-cache\_logs\2023-10-07T11_03_16_946Z-debug-0.log [Error: EPERM: operation not permitted, lstat 'C:\Users\alexm\AppData\Local\npm-cache\_logs\2023-10-07T11_03_16_946Z-debug-0.log'] { 32 silly logfile errno: -4048, 32 silly logfile code: 'EPERM', 32 silly logfile syscall: 'lstat', 32 silly logfile path: 'C:\\Users\\alexm\\AppData\\Local\\npm-cache\\_logs\\2023-10-07T11_03_16_946Z-debug-0.log' 32 silly logfile } 33 silly logfile done cleaning log files 34 timing command:run-script Completed in 1538ms 35 timing command:start Completed in 1548ms 36 verbose exit 1 37 timing npm Completed in 1821ms 38 verbose code 1
已尝试的操作
- 更换Visual Studio Code版本
- 更换Node.js版本
- 重装项目依赖(删除
node_modules、package-lock.json后重新执行npm install) - 执行
npm audit fix - 删除
node_modules目录后重新安装
解决方案
错误核心是系统临时目录环境变量被错误解析,temp-dir包读取时将西里尔字母的С:拼接到项目路径下,导致找不到文件。按以下步骤修复:
1. 检查并重置系统临时环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」或「系统变量」中找到
TEMP和TMP,确认其值为有效路径(例如C:\Users\alexm\AppData\Local\Temp),若路径异常则重置为默认值
2. 临时指定临时目录启动项目
在PowerShell中执行以下命令,手动指定临时目录后启动:
$env:TEMP="C:\Users\alexm\AppData\Local\Temp"; $env:TMP="C:\Users\alexm\AppData\Local\Temp"; npm start
3. 清理npm缓存
执行命令清理缓存,避免缓存中的异常数据影响:
npm cache clean --force
4. 重新安装依赖
删除旧的依赖文件后重新安装:
rm -Recurse node_modules, package-lock.json npm install
原因分析
错误路径中的С:是西里尔字母(俄语字符),说明系统环境变量中的临时目录路径被错误替换或因字符编码问题解析异常,导致temp-dir包读取时错误拼接路径。其他电脑正常是因为环境变量配置无异常,未出现字符解析问题。
内容的提问来源于stack exchange,提问作者6e3noHToBui
相关产品推荐
相关产品推荐

