Expo environment/setup problem

I am having no end of trouble gtting my environment setup correctly for expo. Working through the primers I run “expo init my-app”, which seems to run successfully using the blank template. I then change to the my-app folder and run “expo start” and get the error:

Cannot find module ‘resolve-from’
Require stack:

  • C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules@expo\metro-config\build\ExpoMetroConfig.js
  • C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
  • C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js

My environment is setup with the following:
Windows: 11
Nodejs: 16.13.2
NPM: 8.4.0
expo-cli: 5.0.3

Any thoughts would be greatly appreciated.

hello! can you go into your project directory and try running npm install again?

Hi brents, thanks for your reply. I ran that command and got the following output

C:\Projects\expoenvsetup\my-app>npm install

changed 49 packages, and audited 803 packages in 10s

29 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 low, 10 moderate, 1 high)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

Running expo start still resulted in the same error. I’ve run npm audit to see if there are any clues. Output is as follows:

C:\Projects\expoenvsetup\my-app>npm audit
# npm audit report

ansi-regex  >2.1.1 <5.0.1
Severity: moderate
 Inefficient Regular Expression Complexity in chalk/ansi-regex - https://github.com/advisories/GHSA-93q8-gq69-wqmw
fix available via `npm audit fix --force`
Will install react-native@0.61.4, which is a breaking change
node_modules/@react-native-community/cli/node_modules/ansi-regex
node_modules/ansi-fragments/node_modules/ansi-regex
node_modules/ora/node_modules/ansi-regex
  strip-ansi  4.0.0 - 5.2.0
  Depends on vulnerable versions of ansi-regex
  node_modules/@react-native-community/cli/node_modules/strip-ansi
  node_modules/ansi-fragments/node_modules/strip-ansi
  node_modules/ora/node_modules/strip-ansi
    @react-native-community/cli  2.0.0-alpha.1 - 2.0.0-rc.5 || >=2.0.1
    Depends on vulnerable versions of @react-native-community/cli-hermes
    Depends on vulnerable versions of @react-native-community/cli-types
    Depends on vulnerable versions of ora
    Depends on vulnerable versions of react-native
    Depends on vulnerable versions of strip-ansi
    node_modules/@react-native-community/cli
      react-native  <=0.0.0-ffdfbbec0 || >=0.60.0-rc.0
      Depends on vulnerable versions of @react-native-community/cli
      Depends on vulnerable versions of @react-native-community/cli-platform-android
      node_modules/react-native
    ansi-fragments  *
    Depends on vulnerable versions of strip-ansi
    node_modules/ansi-fragments
      logkitty  *
      Depends on vulnerable versions of ansi-fragments
      node_modules/logkitty
        @react-native-community/cli-platform-android  *
        Depends on vulnerable versions of logkitty
        node_modules/@react-native-community/cli-platform-android
          @react-native-community/cli-hermes  *
          Depends on vulnerable versions of @react-native-community/cli-platform-android
          node_modules/@react-native-community/cli-hermes
    ora  2.0.0 - 4.0.2
    Depends on vulnerable versions of strip-ansi
    node_modules/ora
      @react-native-community/cli-types  5.0.0-alpha.0 - 6.0.0
      Depends on vulnerable versions of ora
      node_modules/@react-native-community/cli-types

node-fetch  <=2.6.6
Severity: high
The `size` option isn't honored after following a redirect in node-fetch - https://github.com/advisories/GHSA-w7rc-rwvf-8q5r
node-fetch is vulnerable to Exposure of Sensitive Information to an Unauthorized Actor - https://github.com/advisories/GHSA-r683-j2x4-v87g
fix available via `npm audit fix --force`
Will install expo@1.0.0, which is a breaking change
node_modules/isomorphic-fetch/node_modules/node-fetch
  isomorphic-fetch  2.0.0 - 2.2.1
  Depends on vulnerable versions of node-fetch
  node_modules/isomorphic-fetch
    fbjs  0.7.0 - 1.0.0
    Depends on vulnerable versions of isomorphic-fetch
    node_modules/fbemitter/node_modules/fbjs
      fbemitter  2.0.3 - 3.0.0-alpha.1
      Depends on vulnerable versions of fbjs
      node_modules/fbemitter
        expo  >=14.0.0
        Depends on vulnerable versions of fbemitter
        node_modules/expo

15 vulnerabilities (4 low, 10 moderate, 1 high)

To address all issues (including breaking changes), run:
  npm audit fix --force

Hi @brents, that suggestion didn’t work unfortunately, per my reply above where I didn’t tag you in correctly. Have you got any other thoughts? Thanks!

can you share the output of expo diagnostics?

Thanks @notbrent, output is as follows:

C:\Projects\expoenvsetup\my-app>expo diagnostics
Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
Error: Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\src\ExpoMetroConfig.ts:10:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)

C:\Projects\expoenvsetup\my-app>

can you uninstall and reinstall expo-clI? npm uninstall -g expo-cli and then npm install -g expo-cli

Hey @notbrent,

I really appreciate your time and help. Unfortunately this hasn’t helped, the original ‘resolve-from’ problem persists. I’ve un/installed expo-cli. Here is the output from those two operations:

C:\Projects\expoenvsetup\my-app>npm uninstall -g expo-cli

removed 3780 packages, and audited 2 packages in 19s

found 0 vulnerabilities

C:\Projects\expoenvsetup\my-app>npm install -g expo-cli
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated uuid@3.0.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated graphql-tools@3.0.0: This package has been deprecated and now it only exports makeExecutableSchema.\nAnd it will no longer receive updates.\nWe recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.\nCheck out https://www.graphql-tools.com to learn what package you should use instead
npm WARN deprecated graphql@0.13.2: Version no longer supported. Please upgrade

added 3780 packages, and audited 3782 packages in 1m

66 vulnerabilities (55 moderate, 9 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

C:\Projects\expoenvsetup\my-app>

Then I deleted the folder my-app and re-ran expo init my-app with the blank template. Here’s the output:

C:\Projects\expoenvsetup>expo init my-app
√ Choose a template: » blank               a minimal app as clean as an empty canvas
√ Downloaded and extracted project files.
🧶 Using Yarn to install packages. Pass --npm to use npm instead.
√ Installed JavaScript dependencies.

✅ Your project is ready!

To run your project, navigate to the directory and run one of the following yarn commands.

- cd my-app
- yarn start # you can open iOS, Android, or web from here, or run them directly with the commands below.
- yarn android
- yarn ios # requires an iOS device or macOS for access to an iOS simulator
- yarn web

C:\Projects\expoenvsetup>

But unfortunately the original problem persists:

C:\Projects\expoenvsetup>cd my-app

C:\Projects\expoenvsetup\my-app>expo start
Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
Error: Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\src\ExpoMetroConfig.ts:10:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)

… or using yarn android:

C:\Projects\expoenvsetup\my-app>yarn android
yarn run v1.22.17
$ expo start --android
Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
Error: Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\src\ExpoMetroConfig.ts:10:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

can you run npm install resolve-from in your project?

Hi @notbrent. That results in the following:

C:\Projects\expoenvsetup\my-app>npm install resolve-from

changed 49 packages, and audited 808 packages in 14s

29 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 low, 10 moderate, 1 high)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

C:\Projects\expoenvsetup\my-app>

…but still the same output from expo start:

C:\Projects\expoenvsetup\my-app>expo start
Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
Error: Cannot find module 'resolve-from'
Require stack:
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\build\ExpoMetroConfig.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\build\exp.js
- C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\expo-cli\bin\expo.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (C:\Users\scott\AppData\Roaming\nvm\v16.13.2\node_modules\@expo\metro-config\src\ExpoMetroConfig.ts:10:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)

can you try switching npm versions?

npm i -g npm@7
npm i -g expo-cli

Thanks @notbrent, I downgraded npm and then reinstalled the CLI:

C:\Projects\expoenvsetup\my-app>npm i -g npm@7

added 2 packages, removed 183 packages, changed 17 packages, and audited 38 packages in 7s

1 moderate severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

C:\Projects\expoenvsetup\my-app>npm i -g expo-cli
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated uuid@3.0.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated graphql-tools@3.0.0: This package has been deprecated and now it only exports makeExecutableSchema.\nAnd it will no longer receive updates.\nWe recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.\nCheck out https://www.graphql-tools.com to learn what package you should use instead
npm WARN deprecated graphql@0.13.2: Version no longer supported. Please upgrade

changed 3780 packages, and audited 3782 packages in 2m

66 vulnerabilities (55 moderate, 9 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

I thought I may need to run npm install`'` within the app folder with the downgraded version, but tried expo startfirst. I got the very sameCannot find module 'resolve-from’message, so I proceeded withnpm install```:

C:\Projects\expoenvsetup\my-app>npm install

up to date, audited 808 packages in 14s

29 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 low, 10 moderate, 1 high)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

expo start still complaining about resolve-from module.

Hi @notbrent, I downgraded npm and reinstalled the CLI:

C:\Projects\expoenvsetup\my-app>npm i -g npm@7

added 2 packages, removed 183 packages, changed 17 packages, and audited 38 packages in 7s

1 moderate severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

C:\Projects\expoenvsetup\my-app>npm i -g expo-cli
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated uuid@3.0.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated graphql-tools@3.0.0: This package has been deprecated and now it only exports makeExecutableSchema.\nAnd it will no longer receive updates.\nWe recommend you to migrate to scoped packages such as @graphql-tools/schema, @graphql-tools/utils and etc.\nCheck out https://www.graphql-tools.com to learn what package you should use instead
npm WARN deprecated graphql@0.13.2: Version no longer supported. Please upgrade

changed 3780 packages, and audited 3782 packages in 2m

66 vulnerabilities (55 moderate, 9 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

C:\Projects\expoenvsetup\my-app>

Still having the same ‘resolve-from’ module error. I also tried running npm install within the app folder, figuring the different npm version might behave differently, but this hasn’t made any difference either.

this is very strange! i haven’t seen any other reports of this issu so i’m feeling a bit stumped. do you happen to have WSL on your machine? could you try installing expo-cli using WSL and running it from there?

2 Likes

Hi @notbrent,

You’re right, very strange! WSL seems to be the way. In bash I un/reinstalled expo-cli and created a new app with expo init and this time it has worked. Frustratingly though, the new app still reports the same problem, i.e. Cannot find module ‘resolve-from’. What could be going on? I’d prefer to use the Windows command shell.

On another note, all of this came about because I’m trying to get another expo project building. With this hurdle out of the way I will return to that now and likely open another ticket with issues there.

Thanks so much for your help @notbrent!

1 Like

One think you might want to double check:

Are you running the instance of expo you think you are? Maybe you have another installation somewhere earlier in your PATH?

By the way, with WSL I think you’d need to map port 19000 on the host through to port 19000 in WSL. Something like this (powershell):

netsh interface portproxy add v4tov4 listenport=19000 listenaddress=0.0.0.0 connectport=19000 connectaddress=172.16.123.5

and then also tell expo start what IP address to announce:

$ REACT_NATIVE_PACKAGER_HOSTNAME=192.168.77.9 expo start

where 172.16.123.5 is the WSL machine’s IP address and 192.168.77.9 is the Windows host’s IP address.

Hi @wodin,
You may have a point about another version of expo. I have NVM running, but only one version of nodejs installed, 16.13.2. But I noticed that nvm has a settings.txt file which looks like this:

root: C:\Users\scott\AppData\Roaming\nvm
path: C:\Program Files\nodejs

Nodejs 16.13.2 lives at C:\Users\scott\AppData\Roaming\nvm\v16.13.2 and there is a expo.cmd at C:\Users\scott\AppData\Roaming\nvm, but when I look in C:\Program Files\nodejs there is another expo.cmd there also.

Checking the PATH I found that the C:\Users\scott\AppData\Roaming\nvm was listed before C:\Program Files\nodejs, so I swapped the order, launched a new cmd window, confirmed the updated PATH statement and tried again. All expo commands still return Cannot find module 'resolve-from'

hmmm… well I’m not sure what’s going on, but it might be safest to find all instances of node and/or expo and delete them and start from scratch :man_shrugging:

Good luck

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.