登录
首页 >  Golang >  Go问答

为 Github 项目安装 Go Raspberry pi

来源:stackoverflow

时间:2024-04-15 12:00:34 209浏览 收藏

本篇文章给大家分享《为 Github 项目安装 Go Raspberry pi》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

您好,2018 年从 [github.talkiepi][1] 安装了 talkiepi,安装并运行良好。 2021 年,iv 安装了最新版本的 stretch 并按照步骤操作,但遇到错误。

当我执行 go get github.com/dcote/gopus 时,出现以下错误。 包 math/bits:无法识别的导入路径“math/bits”(导入路径不以主机名开头)

我一直在网上搜索并验证了有关此问题的其他帖子,有些人这么说是因为 go 版本 1.7

我的问题是当我执行 apt-get install golang libopenal-dev libopus-dev git 时 我唯一的选择是版本 1.7

我尝试使用以下命令手动安装更高版本。

wget https://dl.google.com/go/go1.14.4.linux-armv6l.tar.gz
sudo tar -c /usr/local -xzf go1.14.4.linux-armv6l.tar.gz
rm go1.14.4.linux-arm64.tar.gz

step 3: configure go

now you just need to configure it, which you have to do with any go installation anyway.

open up your ~/.profile (using nano, vi, etc)

vi ~/.profile

path=$path:/usr/local/go/bin
gopath=$home/go

但我无法让它与 github talkiepi 一起使用

as root on your raspberry pi (sudo -i), install golang and other required dependencies, then build talkiepi:

apt-get install golang libopenal-dev libopus-dev g
su mumble
mkdir ~/gocode
mkdir ~/bin
export gopath=/home/mumble/gocode
export gobin=/home/mumble/bin

cd $gopath

go get github.com/dchote/gopus
go get github.com/dchote/talkiepi

cd $gopath/src/github.com/dchote/talkiepi

go build -o /home/mumble/bin/talkiepi cmd/talkiepi/main.go

最新测试

wget https://dl.google.com/go/go1.17.linux-armv6l.tar.gz
    
    rm -rf /usr/local/go && tar -c /usr/local -xzf go1.17.linux-armv6l.tar.gz

export path=$path:/usr/local/go/bin

它安装在 usr/local

mumble@raspberrypi:/root $ mkdir ~/gocode
mumble@raspberrypi:/root $ mkdir ~/bin
mumble@raspberrypi:/root $ export gopath=/home/mumble/gocode
mumble@raspberrypi:/root $ export gobin=/home/mumble/bin
mumble@raspberrypi:/root $ cd $gopath
mumble@raspberrypi:~/gocode $ go get github.com/dchote/gopus
bash: go: command not found
mumble@raspberrypi:~/gocode $ go install github.com/dchote/talkiepi/cmd/talkiepi@latest
bash: go: command not found

====================================2021 年 3 月 8 日星期五======= ========= 所以我为 raspberry pi 全新安装了 strach os 进行了完整更新,然后重新启动。我已经安装了最新的go go1.17.linux-armv6l.tar.gz。

使用此[链接][2]安装go

nano go_installer.sh

输入以下 shell 脚本并保存文件。

export golang="$(curl https://golang.org/dl/|grep linux-armv6l|grep -v beta|head -1|awk -f\> {'print $3'}|awk -f\< {'print $1'})"
wget https://golang.org/dl/$golang
sudo tar -c /usr/local -xzf $golang
rm $golang
unset golang

下一步使脚本可执行:

sudo chmod +x go_installer.sh

要运行 shell 脚本,请键入:

./go_installer.sh

最后一步 - 设置路径

nano ~/.profile

一直向下滚动到文件末尾并添加以下内容:

path=$path:/usr/local/go/bin
gopath=$home/golang

source ~/.profile

pi@raspberrypi:~ $ which go
/usr/local/go/bin/go

pi@raspberrypi:~ $ go version
go version go1.17 linux/arm

现在安装 talkiepi

pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# adduser --disabled-password --disabled-login --gecos "" mumble

root@raspberrypi:~# usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input,gpio mumble

root@raspberrypi:~# apt-get install libopenal-dev libopus-dev git

Do you want to continue? [Y/n] y

root@raspberrypi:~# su mumble
mumble@raspberrypi:/root $ export GOPATH=/home/mumble/gocode
mumble@raspberrypi:/root $ export GOBIN=/home/mumble/bin
mumble@raspberrypi:/root $ cd $GOPATH
bash: cd: /home/mumble/gocode: No such file or directory

so 不在正确的目录中,我该如何移动它。 [1]:https://github.com/dcote/talkiepi/blob/master/doc/readme.md [2]:https://www.e-tinkers.com/2019/06/better-way-to-install-golang-go-on-raspberry-pi/


正确答案


go 项目仅支持两个最新的主要 go 版本。 (截至今天,即 go 1.17 和 go 1.16.7。)要安装受支持的版本,请参阅 https://golang.org/doc/install

请注意,go 的最新版本默认启用模块模式。要以模块模式安装 github.com/dchote/talkiepi/cmd/talkiepi 二进制文件(无需定义您自己的模块),您可以运行:

$ go install github.com/dchote/talkiepi/cmd/talkiepi@latest

也就是说,apt-get 正在安装 go 1.7 的事实表明您 pi 上的 linux 发行版安装也很旧。您可能还想查看 Updating and Upgrading Raspberry Pi OS

本篇关于《为 Github 项目安装 Go Raspberry pi》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>