繁体   English   中英

当我运行“npx react-native start”时找不到模块“@expo/metro-config”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM