You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04 LTS安装Hyperledger Sawtooth依赖问题求助

解决Ubuntu 18.04 LTS安装Hyperledger Sawtooth的依赖未满足问题

我之前也碰到过类似的情况,在非官方支持的Ubuntu版本上装Sawtooth时,依赖不兼容是非常常见的问题。下面是一步步的解决思路,帮你搞定这个麻烦:

第一步:先修复系统本身的损坏依赖

首先得确保你的系统没有残留的损坏包,这往往是引发依赖问题的根源。运行以下命令:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -f
sudo dpkg --configure -a

这些命令会更新软件源、升级现有包、自动修复依赖缺口,还能配置未完成安装的包。执行完之后,再尝试重新安装Sawtooth看看是否解决问题。

第二步:检查Sawtooth的APT源配置

Sawtooth官方默认的APT源是为Ubuntu 16.04(xenial)准备的,而你用的是18.04(bionic),版本差异会导致依赖版本不匹配。你可以先检查源配置文件:

cat /etc/apt/sources.list.d/sawtooth.list

如果文件里的源地址包含xenial,说明是针对16.04的。你可以尝试把xenial替换成bionic,再更新源并安装:

sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list.d/sawtooth.list
sudo apt-get update
sudo apt-get install -y sawtooth

注意:如果官方没有提供bionic版本的Sawtooth包,这一步可能会失败,那咱们就换用源码安装或者Docker部署的方式。

第三步:源码编译安装(当APT源不支持18.04时)

如果官方没有适配18.04的APT包,源码安装是个可靠的备选方案。先安装编译所需的基础依赖:

sudo apt-get install -y python3 python3-pip python3-dev gcc git

然后克隆Sawtooth核心仓库并完成安装:

git clone https://github.com/hyperledger/sawtooth-core.git
cd sawtooth-core
pip3 install -e .

之后你可以单独安装需要的组件,比如CLI、Validator、REST API等:

pip3 install sawtooth-cli sawtooth-validator sawtooth-rest-api

第四步:使用Docker部署(推荐,彻底规避系统依赖问题)

如果不想折腾系统依赖,Docker是最省心的方式——它会把Sawtooth和所有依赖都封装在容器里,完全隔离系统环境。先安装Docker和Docker Compose:

sudo apt-get install -y docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker

然后从Sawtooth仓库获取默认的Docker Compose配置文件,启动整个Sawtooth网络:

# 克隆仓库获取配置文件
git clone https://github.com/hyperledger/sawtooth-core.git
cd sawtooth-core/docker
docker-compose -f sawtooth-default.yaml up

这样就能快速启动一个可用的Sawtooth节点,完全不用操心系统版本的依赖冲突。

问题根源说明

简单来说,你遇到的报错是因为Sawtooth当时发布的APT包是基于Ubuntu 16.04的依赖版本构建的,而Ubuntu 18.04的Python和部分系统库版本有所升级,导致APT无法找到匹配的依赖包,从而出现"未满足依赖"的错误。

内容的提问来源于stack exchange,提问作者Rishi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:16:10