![](/img/trans.png)
[英]metro-config node_modules not found in react-native project
[英]Cannot find module '@expo/metro-config' when i run "npx react-native start
我正在尝试运行命令“npx react-native start”并显示此错误
error Cannot find module '@expo/metro-config'
Require stack:
- D:\Projetos\apporto\metro.config.js
- D:\Projetos\apporto\node_modules\cosmiconfig\node_modules\import-fresh\index.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\loaders.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\createExplorer.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\tools\config\readConfigFromDisk.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\tools\config\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\commands\install\install.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\commands\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\bin.js
Error: Cannot find module '@expo/metro-config'
Require stack:
- D:\Projetos\apporto\metro.config.js
- D:\Projetos\apporto\node_modules\cosmiconfig\node_modules\import-fresh\index.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\loaders.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\createExplorer.js
- D:\Projetos\apporto\node_modules\cosmiconfig\dist\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\tools\config\readConfigFromDisk.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\tools\config\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\commands\install\install.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\commands\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\index.js
- D:\Projetos\apporto\node_modules\@react-native-community\cli\build\bin.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15)
at Function.Module._load (node:internal/modules/cjs/loader:769:27)
at Module.require (node:internal/modules/cjs/loader:996:19)
at require (node:internal/modules/cjs/helpers:92:18)
at Object.<anonymous> (D:\Projetos\apporto\metro.config.js:1:30)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Module.require (node:internal/modules/cjs/loader:996:19)
我尝试使用npm i metro-config --save-dev
但不起作用。
我不知道该怎么办。
#################### package.json ########################### ####
{“名称”:“apporto”,“版本”:“0.0.1”,“私有”:true,“脚本”:{“android”:“react-native run-android”,“ios”:“react- native run-ios”,“start”:“react-native start”,“test”:“jest”,“lint”:“eslint”。 },“依赖项”:{“@react-native-community/async-storage”:“^1.12.1”,“@react-native-community/geolocation”:“^2.0.2”,“@react-native -community/masked-view": "^0.1.10", "@react-navigation/bottom-tabs": "^5.11.9", "@react-navigation/native": "^5.9.4", " @react-navigation/stack": "^5.14.4", "react": "17.0.1", "react-native": "0.64.0", "react-native-gesture-handler": "^1.10 .3", "react-native-permissions": "^3.0.1", "react-native-reanimated": "^2.1.0", "react-native-safe-area-context": "^3.2. 0”、“react-native-screens”:“^3.1.1”、“react-native-svg”:“*”、“react-native-svg-transformer”:“^0.14.3”、“react- native-swiper": "^1.6.0", "styled-components": "^5.2.3" }, "devDependencies": { "@babel/core": "^7.12.9", "@babel/runtime ": "^7.12.5", "@react-native-community/eslint-config": "^2.0.0", "babel-jest": "^26.6.3", "eslint": "7.14.0 ", "jest": "^26.6.3", "metro-config": "^0.64.0", "metro-react-native-babel-preset": "^0.64.0", "react-test-渲染器”:“17.0.1”},“笑话”:{“预设”:“反应原生” } }
安装 expo/metro-config 后:
npm i @expo/metro-config
Go 到metro.config.js更改:
const { getDefaultConfig } = require('expo/metro-config');
至:
const { getDefaultConfig } = require('@expo/metro-config');
这个对我有用。 谢谢
我有同样的问题,我下载了 expo 地铁配置并解决了这个问题
npm i @expo/metro-config
此处缺少 expo 配置文件。 跑
npm i @expo/metro-config
在主文件夹中更新
Metro.config.js
更改以下行
const { getDefaultConfig } = require('expo/metro-config');
至
const { getDefaultConfig } = require('@expo/metro-config');
奇迹般有效!
{
“名称”:“地铁配置”,
“版本”:“0.64.0”,
"description": " Metro 的配置解析器。",
"main": "src/index.js",
“存储库”:{
“类型”:“混帐”,
“网址”:“git@github.com:facebook/metro.git”
},
“脚本”:{
"prepare-release": "test -d build && rm -rf src.real && mv src src.real && mv build src",
"cleanup-release": "test.-e build && mv src build && mv src,real src" },
“许可证”:“麻省理工学院”,
“依赖”:{
"cosmiconfig": "^5.0.5",
“开玩笑验证”:“^26.5.2”,
“地铁”:“0.64.0”,
“地铁缓存”:“0.64.0”,
“地铁核心”:“0.64.0”,
“地铁运行时”:“0.64.0”
},
“开发依赖”:{
"漂亮格式": "^26.5.2",
“strip-ansi”:“^6.0.0”
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.