metro icon indicating copy to clipboard operation
metro copied to clipboard

error Expected file to be absolute path but got ../node_modules/...

Open xuyazhong opened this issue 2 years ago • 0 comments

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'),
  ],
}

xuyazhong avatar Jun 29 '22 07:06 xuyazhong