在win和deepin上使用lsky-upload上传图片

1.说明

先前使用lsky图床的时候,我一直用的是picgo的插件来上传图片。

但最近picgo总是遇到卡上传的问题 https://github.com/Molunerfinn/PicGo/issues/1060

后来在gitee上面搜到了这个项目,其能将typora的图片上传到lsky,缺点就是只支持lsky图床。不过我正好要的就是这个!

1
https://github.com/YGXB-net/lsky-upload/releases

进releases下载作者build好的windows包,按作者的README进行操作,就能在windows下成功上传图片。

经过了一天的使用,没有出现picgo的卡上传问题。开心!


于是尝试在deepin下面也build一个go的包

2.安装go环境和遇到的问题

1
sudo apt-get install golang

build的时候遇到了如下问题

1
2
mothra@mothra-PC: ~/Downloads/lsky-upload$ go build
internal/config/config.go:4:2: package embed is not in GOROOT (/usr/lib/go-1.15/src/embed)

百度到的解决办法说要修改一个go的环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mothra@mothra-PC:~/Downloads/lsky-upload$ go env -w GO111MODULE=off
mothra@mothra-PC:~/Downloads/lsky-upload$ go install
main.go:7:2: cannot find package "github.com/tidwall/gjson" in any of:
/usr/lib/go-1.15/src/github.com/tidwall/gjson (from $GOROOT)
/home/mothra/go/src/github.com/tidwall/gjson (from $GOPATH)
main.go:9:2: cannot find package "lsky-upload/internal/config" in any of:
/usr/lib/go-1.15/src/lsky-upload/internal/config (from $GOROOT)
/home/mothra/go/src/lsky-upload/internal/config (from $GOPATH)
main.go:10:2: cannot find package "lsky-upload/internal/httpapi" in any of:
/usr/lib/go-1.15/src/lsky-upload/internal/httpapi (from $GOROOT)
/home/mothra/go/src/lsky-upload/internal/httpapi (from $GOPATH)
main.go:11:2: cannot find package "lsky-upload/internal/utils" in any of:
/usr/lib/go-1.15/src/lsky-upload/internal/utils (from $GOROOT)
/home/mothra/go/src/lsky-upload/internal/utils (from $GOPATH)

但修改了之后问题更多了……来来回回搞了半小时,没解决

3.解决构建问题

看了一堆没用的博客,说要改环境变量,配置项什么的……最终还是字最少的最有用。其实就是我的go版本太低了,更新一下新版本就行了

https://blog.csdn.net/qq_35633748/article/details/129436192

image-20230507121947768

我在deepin下的go是用apt-get安装的,版本是1.15,而最新版已经是1.20.4

1
https://golang.google.cn/dl/

去这上面下载了linux下的安装包

1
wget https://golang.google.cn/dl/go1.20.4.linux-amd64.tar.gz

操作之前,先将旧的golang给卸载了

1
2
sudo apt-get remove golang
sudo apt autoremove

输出结果如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
~/Downloads$ sudo apt-get remove golang
请输入密码:
验证成功
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
软件包 golang 未安装,所以不会被卸载
下列软件包是自动安装的并且现在不需要了:
golang-1.15 golang-1.15-doc golang-1.15-go golang-1.15-src golang-doc golang-go golang-src
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
~/Downloads$ sudo apt autoremove
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包将被【卸载】:
进度:[ 93%] [#############################################################################################.......]
升级了 0 个软件包,新安装了 0 个软件包,要卸载 7 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 363 MB 的空间。
您希望继续执行吗? [Y/n] y

卸载旧版本后,解压刚刚下载的新版本包

1
sudo tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz

然后修改环境变量

1
sudo vim /etc/profile

在末尾添加,:wq保存并退出

1
export PATH=$PATH:/usr/local/go/bin

但是不知道为什么source找不到命令,于是重启了机器(我用的虚拟机)

1
sudo source /etc/profile
1
2
$ sudo source /etc/profile
sudo: source:找不到命令

重启之后,看看版本

1
go version

已经是最新的了

1
2
$ go version
go version go1.20.4 linux/amd64

克隆作者的仓库

1
https://github.com/YGXB-net/lsky-upload.git

或者用gitee的

1
https://gitee.com/YGXB-net/lsky-upload.git

克隆后进入仓库路径

1
cd lsky-upload

进行构建

1
go build

一切正常,不会有输出。ls -l查看文件,会多一个lsky-upload可执行文件

1
-rwxr-xr-x 1 mothra mothra 8060493 5月   7 12:12 lsky-upload

image-20230507123137262

先执行一下这个文件,会有初始配置文件的输出。也是根据仓库的README配置成你的图床url和token就行了

1
./lsky-upload

4.配置typora

这时候就只需要将typora的上传命令修改为这个可执行文件,就可以了!

PS: deepin上的typora是我在deepin的软件商店里面下载的typora-免费版,版本是0.11.18

image-20230507123229398

点击验证测试一下能否正常上传,没问题!

image-20230507123416025