使用Truffle部署Enj智能合约至Ganache遇network_id配置错误求助
Truffle部署Enj合约到Ganache时的network_id错误解决方案
问题描述
执行命令truffle migrate --network localhost后,合约编译成功,但触发错误:
You must specify a network_id in your 'localhost' configuration in order to use this network.
当前truffle.config.js仅配置了development网络,未配置localhost网络项。
解决方案
方案1:使用已配置的网络执行部署
直接调用配置中已存在的development网络,执行命令:
truffle migrate --network development
方案2:添加localhost网络配置到truffle.config.js
修改truffle.config.js,新增localhost网络的配置节点,确保包含network_id(需与Ganache的network_id一致,默认值为5777):
require('babel-register'); require('babel-polyfill'); module.exports = { networks: { development: { host: "localhost", port: 7545, network_id: "5777" }, localhost: { host: "localhost", port: 7545, network_id: "5777" // 需与Ganache实例的network_id匹配 } }, compilers: { solc: { version: "0.4.15" } } };
修改完成后,即可继续使用原命令truffle migrate --network localhost执行部署。
注意事项
- Ganache默认network_id为5777,若你的Ganache实例修改过该值,需同步更新
truffle.config.js中对应网络的network_id。
内容的提问来源于stack exchange,提问作者Axion
相关产品推荐
相关产品推荐

