Gatsby开发命令在macOS High Sierra上失败,未显示错误消息

问题描述

我刚接触盖茨比(Gatsby),刚刚开始阅读该网站的教程here。但是,我在运行gatsby develop命令时遇到了一些麻烦,因为它会引发错误并仅显示此消息,而无其他显示

Looks like develop for this site is already running,can you visit http://://localhost:8000 ? If it is not,try again in five seconds!

当我单击http://:// localhost:8000时,页面显示localhost拒绝连接。

下面是gatsby info -C输出

  System:
    OS: macOS High Sierra 10.13.6
    cpu: (4) x64 Intel(R) Core(TM) i5-2415M cpu @ 2.30GHz
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 14.4.0 - ~/.nvm/versions/node/v14.4.0/bin/node
    npm: 6.14.5 - ~/.nvm/versions/node/v14.4.0/bin/npm
  Languages:
    Python: 2.7.14 - /usr/local/bin/python
  browsers:
    Chrome: 85.0.4183.102
    Safari: 11.1.2   
  npmPackages:
    gatsby: ^2.24.54 => 2.24.54   
  npmGlobalPackages:
    gatsby-cli: 2.12.94

我也尝试过卸载和安装gatsby-cli,但是问题仍然存在。还使用lsof -i TCP:8000检查端口8000上是否正在运行任何东西,但是什么都没发生。

如果有人可以弄清问题的根源,我将不胜感激!

PS:我尝试运行gatsby buildgatsby serve,但没有遇到任何问题。

解决方法

这是因为OS firewall的端口。您可以通过将端口添加到默认的运行Gatsby的命令(在package.json中)来轻松修复它:

gatsby develop -p 8001

请注意-p标志,正如您在the documentation中看到的那样,它将更改Gatsby的运行端口。当然,您可以为任何所需的(和未使用的)端口更改8001。更改它不会影响Gatsby项目,因为它将使GraphQL游乐场重新适应它。

,

您很有可能必须打开firewall上的端口8000

在OSX上,这应该是pfctl/etc/pf.conf