当使用reflect运行Go服务器时,Mac反复要求接受网络连接



我有一个Go API正在尝试测试,我已经安装了reflection。它启动并运行得很好,但每次我保存项目时,它都会创建一个新的应用程序实例。它将提示我的系统请求权限:

Do you want the application “go-api” to accept incoming network connections?
Clicking Deny may limit the application’s behavior. 
This setting can be changed in the Firewall pane of Security & Privacy preferences.

非常感谢关于如何进行故障排除的任何帮助,甚至一些指导,因为我还没有看到任何关于这个错误的信息。

当我检查我的Mac的隐私和安全设置时,我可以看到防火墙允许go-api的一个实例以及许多其他go-api实例。

当我在我的finder中展示这些应用程序时,我可以看到Go正在为我的程序的每个实例实例化单独的构建文件,并创建一个Unix可执行文件作为应用程序。

在我的同事为同一API安装了Go和reflex的设备上,不存在这种行为。我认为这与反射配置或API无关,因为它们与我的完全相同,但没有表现出相同的行为。

我想这可能与我的.bash_profile或其他东西有关:

# Setting PATH for Go
export GOPATH="$HOME/go"
PATH="$GOPATH/bin:$PATH"
export GOOGLE_APPLICATION_CREDENTIALS=/Users/me/Documents/path/to/go-api
export GO_ENV=dev

UPDATE:我找到了一个解决方案,尽管不令人满意。根据苹果:

如果运行未在防火墙列表中列出的未签名应用程序,则会出现一个对话框,其中包含允许或拒绝应用程序连接的选项。如果选择"允许",OS X会对应用程序进行签名并自动将其添加到防火墙列表中。如果选择"拒绝",OS X会将其添加到列表中,但会拒绝用于此应用程序的传入连接。--https://support.apple.com/en-us/HT201642

所以,我关闭了防火墙,因为我还没有找到一种方法来单独选择我的应用程序并允许它同时保持防火墙的运行。

最新更新