我在 Windows 10 上从官方网站的 appx 获得 Ganache GUI。当我在控制台 (WSL) 中运行 Truffle 或 testrpc 网络并尝试从设置中的 Ganache GUI 连接到那里时,我在带有端口的文本框旁边收到错误消息:
该端口被另一个应用程序使用;请更改它
端口来自 Truffle 或 testrpc。我怎样才能在那里连接?谢谢你。
我在 Windows 10 上从官方网站的 appx 获得 Ganache GUI。当我在控制台 (WSL) 中运行 Truffle 或 testrpc 网络并尝试从设置中的 Ganache GUI 连接到那里时,我在带有端口的文本框旁边收到错误消息:
该端口被另一个应用程序使用;请更改它
端口来自 Truffle 或 testrpc。我怎样才能在那里连接?谢谢你。
Ganache UI 运行一个 Ganache CLI 实例(即以前称为 TestRPC 的模拟以太坊实例)。如果您已经在端口 9545 上打开了带有应用程序的控制台窗口,则 Ganache UI 无法在同一端口上启动新实例。
这些是对我有用的步骤:
truffle-config.js
: networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 7545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
...
truffle console
(不truffle develop
)我将以下内容添加到我的 .zshrc 或 .bashrc 文件中
# Get WSL Host IP
export WSL_HOST_IP="$(awk '/nameserver/ { print $2 }' /etc/resolv.conf)"
这允许我显示我的主机 ip,因此 WSL2 中的命令可以到达本地主机。
现在在 Ganache GUI 中创建一个工作区,并在服务器 HOSTNAME 设置下选择“0.0.0.0 - All Interfaces”。
在您的 truffle 项目中编辑 truffle-config.js 文件并将您的网络开发块设置为:
development: {
host: process.env.WSL_HOST_IP,
port: 7545,
network_id: "*" // Match any network id
}
现在,当您运行 truffle migrate 时,它应该连接到 Ganache GUI。