Golang项目无法运行特定项目的解决方法
Golang项目无法运行特定项目的解决方法 你好,
我是Go语言的新手,只想作为最终用户用它来运行一个特定的项目。但遗憾的是,我失败了……
我尝试在树莓派3b上运行 GitHub - IngmarStein/mielesolar: 使用SolarEdge逆变器触发Miele SmartStart。
我按照 在树莓派上安装Golang(Go)的更好方法 – E-Tinkers 的说明,以用户“pi”的身份安装了Go。
项目页面上的安装说明仍然说要使用“go get”——这个方法已经过时了。我尝试了go mod init,然后在执行go get时遇到了“无效的导入路径”错误,而使用go install时则遇到了“项目不在GOROOT中”的错误。
(也尝试过Docker,但出现了“错误的架构”错误)。
有没有人能向新手解释一下如何正确运行这个项目,以及如何在树莓派系统启动时自动启动它?谢谢!
更多关于Golang项目无法运行特定项目的解决方法的实战教程也可以访问 https://www.itying.com/category-94-b0.html
没有人吗?抱歉再次提问,但我真的不熟悉Go语言,自己无法解决这个问题。非常感谢您的帮助。
更多关于Golang项目无法运行特定项目的解决方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
除了使用 go get,你是否考虑过直接克隆仓库然后执行 go build 和 mv ...?
首先,确保你的Go环境已正确设置。在树莓派上,你可以通过以下命令检查Go版本和GOPATH:
go version
echo $GOPATH
如果GOPATH未设置,建议设置它。例如,在~/.bashrc中添加:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
然后运行source ~/.bashrc。
对于这个项目,由于它可能使用旧版Go模块结构,可以尝试以下步骤来运行:
-
克隆项目到本地:
cd ~ git clone https://github.com/IngmarStein/mielesolar.git cd mielesolar -
初始化Go模块(如果项目没有go.mod文件):
go mod init github.com/IngmarStein/mielesolar -
下载依赖并构建:
go mod tidy go build -o mielesolar .这将在当前目录生成可执行文件
mielesolar。 -
运行项目:
./mielesolar如果项目需要配置文件或环境变量,请参考项目README进行设置。
如果遇到依赖错误,例如“invalid import path”,可能是模块路径问题。尝试手动修改go.mod文件中的模块名称,或使用replace指令。例如,在go.mod中添加:
module mielesolar
go 1.16
replace github.com/IngmarStein/mielesolar => ./
对于系统启动自动运行,可以使用systemd服务。创建服务文件:
sudo nano /etc/systemd/system/mielesolar.service
添加以下内容(根据你的路径调整):
[Unit]
Description=MieleSolar Service
After=network.target
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/mielesolar
ExecStart=/home/pi/mielesolar/mielesolar
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后启用并启动服务:
sudo systemctl enable mielesolar.service
sudo systemctl start mielesolar.service
如果构建时出现架构错误,确保你的Go版本支持ARMv7(树莓派3b)。使用go env GOARCH检查,输出应为arm。

