metro
metro copied to clipboard
error Expected file to be absolute path but got ../node_modules/...
My folder structure is this:
Desktop
|--- node_modules/
|--- xxx.js
|--- app/
|--- App.js
|--- app.json, index.js, ...
version
"react-native": "0.65.1"
"metro": "^0.71.2"
node v16.13.1
run bundle error
$ npx react-native bundle --platform ios --dev false --entry-file index.js --bundle-output app.ios.jsbundle --verbose
(node:25584) [FST_MODULE_DEP_FASTIFY-STATIC] FastifyWarning.fastify-static: fastify-static has been deprecated. Use @fastify/[email protected] instead.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:25584) [FST_MODULE_DEP_FASTIFY-REPLY-FROM] FastifyWarning.fastify-reply-from: fastify-reply-from has been deprecated. Use @fastify/[email protected] instead.
Welcome to Metro!
Fast - Scalable - Integrated
error Expected file to be absolute path but got ../node_modules/@babel/runtime/helpers/interopRequireDefault.js
Error: Expected file to be absolute path but got ../node_modules/@babel/runtime/helpers/interopRequireDefault.js
at new Module (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/node-haste/Module.js:17:13)
at ModuleCache.getModule (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/node-haste/ModuleCache.js:26:37)
at ModuleResolver._getFileResolvedModule (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:161:42)
at ModuleResolver.resolveDependency (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:103:19)
at DependencyGraph.resolveDependency (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/node-haste/DependencyGraph.js:288:43)
at Object.resolve (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/lib/transformHelpers.js:129:24)
at resolve (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:33)
at /Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/traverseDependencies.js:412:26
at Array.reduce (<anonymous>)
at resolveDependencies (/Users/mac/Desktop/app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/traverseDependencies.js:411:33)
metro.config.js
const path = require('path');
const projectRoot = path.resolve(__dirname);
module.exports = {
projectRoot,
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
resolver: {
nodeModulesPaths: ['../node_modules'],
},
watchFolders: [
projectRoot,
path.resolve(__dirname, '..', 'node_modules'),
],
}