You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android运行报错:无法找到node:fs模块,求助解决方法

解决React Native中「Cannot find module 'node:fs'」错误

1. 修复Metro配置的重复导出问题

你当前的metro配置存在重复module.exports,后面的异步配置会完全覆盖前面的transform规则,导致babel转换逻辑缺失。将两个配置合并为一个:

const { getDefaultConfig } = require('metro-config');

module.exports = (async () => {
  const {
    resolver: { sourceExts, assetExts },
  } = await getDefaultConfig();
  return {
    transformer: {
      babelTransformerPath: require.resolve('react-native-svg-transformer'),
      getTransformOptions: async () => ({
        transform: {
          experimentalImportSupport: false,
          inlineRequires: true,
        },
      }),
    },
    resolver: {
      assetExts: assetExts.filter(ext => ext !== 'svg'),
      sourceExts: [...sourceExts, 'svg'],
      // 添加Node.js模块映射规则
      extraNodeModules: {
        // 将node:fs映射为React Native兼容的文件系统模块
        'node:fs': require.resolve('react-native-fs')
      }
    },
  };
})();

2. 配置Babel处理node:fs别名

安装babel-plugin-module-resolver让Babel识别并替换node:fs:

npm install babel-plugin-module-resolver --save-dev
# 或使用yarn
yarn add babel-plugin-module-resolver --dev

修改项目根目录的babel.config.js,添加别名配置:

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    [
      'module-resolver',
      {
        alias: {
          'node:fs': 'react-native-fs',
          // 其他Node.js内置模块报错时可在此追加映射
        },
      },
    ],
  ],
};

3. 排查并替换不兼容依赖

若上述配置后仍报错,大概率是第三方依赖直接使用了Node.js的fs模块(这类包仅适配Node.js环境,不兼容React Native):

  • 检查近期安装的依赖,定位引用node:fs或fs的包
  • 替换为React Native生态的替代包(比如用react-native-fs替代Node.js原生fs)
  • 若该依赖非必要,直接卸载

4. 临时Mock方案(针对无实际使用的fs引用)

如果某些依赖只是引用了node:fs但未实际调用相关功能,可用空模块Mock:

  1. 在项目根目录创建mock/fs.js:
// 空模块,用于Mock Node.js的fs
module.exports = {};
  1. 修改Metro配置的extraNodeModules:
extraNodeModules: {
  'node:fs': require.resolve('./mock/fs.js')
}

最后清理缓存并重新运行项目:

npx react-native start --reset-cache
npx react-native run-android

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 19:10:30