为何react-scripts仅在C盘可用,其他盘符运行报错?
React应用非C盘运行报「Modules not found」的解决办法
问题详情
搭建了一个React应用,所有依赖(包括react-scripts)都已正常安装,但在非C盘路径下运行时会触发「Modules not found」错误,只有放在C盘主分区才能正常启动项目。
执行npm start时的命令行报错输出如下:
PS D:\Learn & Practice\React\my-first-react-app> npm start > my-first-react-app@0.1.0 start > react-scripts start 'Practice\React\my-first-react-app\node_modules\.bin\' is not recognized as an internal or external command, operable program or batch file. node:internal/modules/cjs/loader:1146 throw err; ^ Error: Cannot find module 'D:\react-scripts\bin\react-scripts.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15) at Module._load (node:internal/modules/cjs/loader:984:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:142:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v21.5.0
问题原因
从报错信息可判断,项目路径中的空格和&特殊字符导致系统解析路径时出现截断:原本的D:\Learn & Practice\React\...被错误拆分,系统仅识别到D:\Learn,后续路径被当成独立命令,最终无法定位到正确路径下的react-scripts模块,才会出现查找D:\react-scripts\...的错误。
解决方案
- 修改项目存放路径,移除所有空格和特殊字符(如&、#、@等),例如改成
D:\LearnPractice\React\my-first-react-app,之后重新执行npm start - 若不想移动项目,可删除项目根目录下的
node_modules文件夹和package-lock.json文件,重新执行npm install安装依赖后再启动项目
内容的提问来源于stack exchange,提问作者Yuvraj Malhotra
相关产品推荐
相关产品推荐

