我突然发现模块'fs'无法解决。但是我没有使用此模块,也没有更改任何内容。我的应用程序在启动
时突然返回此错误错误:捆绑失败:错误:无法解析fs
中的模块/Path/to/Project/node_modules/handlebars/lib/index.js
:急速模块图中不存在模块fs
这可能与https://github.com/facebook/react-native/issues/4968有关
要解决此问题,请尝试以下操作:
1.清除值班员手表:watchman watch-del-all
。
2.删除node_modules
文件夹:rm -rf node_modules && npm install
。
3.重置Metro Bundler缓存:rm -rf /tmp/metro-bundler-cache-*
或npm start -- --reset-cache
。
4.删除急速缓存:rm -rf /tmp/haste-map-react-native-packager-*
。
要解决的四个步骤,我已经尝试了几次,但没有任何帮助。 有什么想法可能出问题吗?
答案 0 :(得分:8)
对我来说,问题在于VSCode在我的一个js文件的顶部插入了一些导入。很奇怪。 这些是这些行:
import { tsConstructorType } from '@babel/types';
import { logger } from 'handlebars';
答案 1 :(得分:1)
我的一个节点模块依赖于react-native-dotenv,但是它的代码使用的是旧导入,例如import {} from 'react-native-dotenv'
。
但是最新版本的dotenv正在使用import {} from '@env'
。
在模块中修复此导入问题已解决。
答案 2 :(得分:0)
通常,您可以通过清除缓存来解决这些意外错误。运行$ expo start --clear
。
答案 3 :(得分:0)
我遇到此错误是因为我本应该使用dotenv时尝试使用one of these react-native specific packages。检查所有已安装的软件包是否与react native兼容。
答案 4 :(得分:0)
我确实有这个问题。对于Visual Studio Code用户,自动完成有时会在您不注意的情况下自动导入文件顶部不需要的模块。运行git diff
会显示以下几行,在我处理过的文件的顶部,我记不住每次写的内容:
+import { clearConfigCache } from 'prettier';
+import { createIconSetFromFontello } from 'react-native-vector-icons';
如何避免:
运行git diff
并阅读随后的每一行。罪犯通常会出现。