如何在本地搭建MetaMask?加载扩展遇错误求解决
解决本地搭建MetaMask时的加载错误
别担心,这两个都是本地搭建MetaMask时的常见坑,我来一步步帮你搞定:
1. 修复background.js:6处require is not defined错误
这个问题的核心原因很简单:MetaMask的源码用的是Node.js专属的CommonJS模块语法(也就是require),但普通浏览器根本不认识这种语法——你直接加载克隆下来的原始源码文件夹,浏览器自然会报错。
解决步骤:
- 先确保你的电脑上装了Node.js LTS版本(没装的话先安排上)
- 打开终端,进入你克隆的
metamask-extension文件夹 - 执行命令安装项目依赖:
npm install(这一步可能要等一会儿,别着急) - 依赖装完后,执行构建命令把源码打包成浏览器能识别的代码:
npm run build - 构建完成后,项目根目录会多出一个
dist文件夹,去浏览器的扩展管理页面加载这个dist文件夹就行啦。
2. 修复WebSocket连接至'ws://localhost:35729/livereload'失败的错误
这个错误是因为开发模式下的**热重载服务(livereload)**没启动导致的,分两种情况处理:
如果是想开发调试MetaMask:
- 别直接加载源码文件夹,先在终端执行
npm start启动开发服务器 - 等服务器启动好,浏览器会自动打开一个加载了开发版MetaMask的窗口;或者你也可以手动去扩展管理页面加载
dist文件夹,此时热重载服务已经在后台运行,就不会报连接失败的错了。
如果只是想使用本地构建的MetaMask:
- 按照上面第一个问题的步骤完成生产构建,生成
dist文件夹后加载它就行——生产构建会自动移除热重载相关的代码,自然不会触发这个WebSocket连接请求。
内容的提问来源于stack exchange,提问作者sarthak umrao
相关产品推荐
相关产品推荐

