如何在 Bazel Sandbox(block-network,macos)中启动一个进程(mysql)
How to start a process (mysql) in Bazel Sandbox (block-network, macos)
我正在尝试在 java 测试中开始 embedded mysql。
当我 运行 启动带有标签 block-network
的服务器的基本测试时,我得到:
mysql start failed with error: [ERROR] Can't start server : Bind on
unix socket: Operation not permitted 2017-07-24T17:58:59.952051Z 0
[ERROR] Do you already have another mysqld server running on socket:
/tmp/5044135838291373301.sock ?
当我删除标签时,一切都会过去。看来/tmp
是可写的。
完全复制repository
这是 mac os 10.12 和 Bazel 0.5.2
您能否尝试构建包含 this pull-request 的 Bazel 版本(仅一行更改),看看是否有帮助?当指定 block-network 时,Bazel 当前会阻止 macOS 上的 UNIX 套接字通信。这种变化应该允许它。我还不确定我是想把它放在一个标志后面(例如 --sandbox-allow-sockets)还是让它成为默认行为,但不管怎样,我会确保 Bazel 会支持你的使用案例.
我正在尝试在 java 测试中开始 embedded mysql。
当我 运行 启动带有标签 block-network
的服务器的基本测试时,我得到:
mysql start failed with error: [ERROR] Can't start server : Bind on unix socket: Operation not permitted 2017-07-24T17:58:59.952051Z 0 [ERROR] Do you already have another mysqld server running on socket: /tmp/5044135838291373301.sock ?
当我删除标签时,一切都会过去。看来/tmp
是可写的。
完全复制repository 这是 mac os 10.12 和 Bazel 0.5.2
您能否尝试构建包含 this pull-request 的 Bazel 版本(仅一行更改),看看是否有帮助?当指定 block-network 时,Bazel 当前会阻止 macOS 上的 UNIX 套接字通信。这种变化应该允许它。我还不确定我是想把它放在一个标志后面(例如 --sandbox-allow-sockets)还是让它成为默认行为,但不管怎样,我会确保 Bazel 会支持你的使用案例.