gatsby: Error thrown when using the Gatsby CLI after install - "Error: Cannot find module 'detect-port'"

Description

When I installed the gatsby CLI, I was unable to run it; it throws this exception in the command line:

image

This is only resolveable by globally installing detect-port, at which point everything is fine. Perhaps a missing dependency that wasn’t included?

Steps to reproduce

  1. Install gatsby-cli globally.
  2. Try to create a new site with the Gatsby CLI per the tutorial (or run gatsby -v - any command will cause the failure it seems)
  3. The above error is spat out

Expected result

What should happen?

It should not throw

Actual result

It throws an exception saying that detect-port could not be found.

Environment

System: OS: macOS 10.15.4 CPU: (16) x64 Intel® Core™ i9-9880H CPU @ 2.30GHz Shell: 5.7.1 - /bin/zsh Binaries: Node: 12.13.0 - ~/.nvm/versions/node/v12.13.0/bin/node Yarn: 1.22.4 - /usr/local/bin/yarn npm: 6.14.4 - ~/.nvm/versions/node/v12.13.0/bin/npm Languages: Python: 2.7.17 - /usr/local/bin/python Browsers: Chrome: 81.0.4044.138 Edge: 81.0.416.72 Firefox: 74.0.1 Safari: 13.1 npmGlobalPackages: gatsby-cli: 2.12.31

NB I had to do the above manual install of detect-port to get this to work

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 11
  • Comments: 16 (2 by maintainers)

Commits related to this issue

Most upvoted comments

This exact same thing happened to me as well.

Same here. One quick fix is to install everything locally:

yarn add gatsby-cli
yarn add detect-port
npx gatsby help

or install detect-port globally:

yarn global add gatsby-cli
yarn global add detect-port
gatsby help

None of the above solutions worked on my Mac. I just downgraded and I will wait for a new version before upgrading gatsby-cli again.

npm i -g gatsby-cli@2.11.2

Problem solved!

Sorry about that! Fixed in #24334 and released as gatsby-cli@2.12.33

for me solved using npm npm i -g gatsby-cli npm i -g detect-port gatsby help

Same here. One quick fix is to install everything locally:

yarn add gatsby-cli
yarn add detect-port
npx gatsby help

or install detect-port globally:

yarn global add gatsby-cli
yarn global add detect-port
gatsby help

Yep this solves the issue for me. Thanks mate

This is currently happening in my builds as well; using the gatsby-cli installed locally in my project’s node_modules (by using yarn build instead of gatsby build, in my case) instead of the global install appears to be a workaround because detect-port is already installed (as a way to avoid globally installing detect-port).