1

这是一个相当初学者的问题。道歉没有更多的挑战:)

我在我的电脑上运行 IPFS 桌面。我通过 Ubuntu 软件中心下载了它。我相信这是一个快速安装。我正在使用 Ubuntu 20.04

我希望能够访问通过 IPFS 桌面运行的节点的一些 CLI 命令,但是当我ipfs在终端中输入任何命令时,它会显示command not found.等等。

如果我安装 ipfs cli,那么它会通过终端运行不同的节点。我在这里遗漏了一些明显的东西吗?如何通过命令行访问 IPFS 桌面节点?

谢谢!

4

2 回答 2

1

在不涉及分发/包细节的情况下,以下是应该在所有系统上工作的两种方法。

快速的临时解决方案:ipfs通过传递显式 API 端点 ( ) 将 CLI 客户端指向 IPFS Desktop 运行的节点ipfs --api=/ip4/127.0.0.1/tcp/5001。您可以通过桌面应用程序提供的 WebUI 中的Status_→_Advanced_→_API找到确切的地址。

另一种方法是将IPFS_PATH环境中的变量设置为 IPFS 桌面使用的目录,确保ipfsCLI 工具使用与桌面应用程序相同的存储库。当您需要运行不能通过 API 运行的命令并且需要直接访问存储库(如ipfs key export|rotate)时,这尤其有用。

于 2021-06-19T16:50:58.290 回答
0

谢谢大家的答案。我相信问题在于使用 snap 存储(Ubuntu 软件中心)安装它,因为这会改变安装的默认路径。所以实际上,桌面和 cli 安装在不同的路径上。

我在 IPFS 站点上进行了安装,该站点使用安装脚本并将其放在正确的路径中。

所以我只重新安装了 CLI 并使用 webUI 代替桌面。与 IPFS Companion 一起,桌面并不是真正需要的。但我仍然想要让桌面在不打开终端的情况下在后台运行守护进程的功能,所以我创建了以下服务单元文件来做到这一点:

将以下代码粘贴到文件中/etc/systemd/system/ipfs.service

[Unit]
Description=IPFS Daemon
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ipfs daemon
User=user
Restart=on-failure

[Install]
WantedBy=default.target

然后我只是sudo systemctl start ipfs在终端中运行以使守护程序作为服务运行。

谢谢!

于 2021-06-25T08:31:47.343 回答