本文首发于 慕雪的寒舍
在win和deepin上使用lsky-upload上传图片
1.说明
先前使用lsky图床的时候,我一直用的是picgo的插件来上传图片。
但最近picgo总是遇到卡上传的问题 https://github.com/Molunerfinn/PicGo/issues/1060
后来在gitee上面搜到了这个项目,其能将typora的图片上传到lsky,缺点就是只支持lsky图床。不过我正好要的就是这个!
https://github.com/YGXB-net/lsky-upload/releases
进releases下载作者build好的windows包,按作者的README进行操作,就能在windows下成功上传图片。
经过了一天的使用,没有出现picgo的卡上传问题。开心!
于是尝试在deepin下面也build一个go的包
2.安装go环境和遇到的问题
sudo apt-get install golang
build的时候遇到了如下问题
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的环境变量
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
我在deepin下的go是用apt-get
安装的,版本是1.15
,而最新版已经是1.20.4
了
https://golang.google.cn/dl/
去这上面下载了linux下的安装包
wget https://golang.google.cn/dl/go1.20.4.linux-amd64.tar.gz
操作之前,先将旧的golang给卸载了
sudo apt-get remove golang
sudo apt autoremove
输出结果如下
~/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
卸载旧版本后,解压刚刚下载的新版本包
sudo tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz
然后修改环境变量
sudo vim /etc/profile
在末尾添加,:wq
保存并退出
export PATH=$PATH:/usr/local/go/bin
但是不知道为什么source找不到命令,于是重启了机器(我用的虚拟机)
sudo source /etc/profile
$ sudo source /etc/profile
sudo: source:找不到命令
重启之后,看看版本
go version
已经是最新的了
$ go version
go version go1.20.4 linux/amd64
克隆作者的仓库
https://github.com/YGXB-net/lsky-upload.git
或者用gitee的
https://gitee.com/YGXB-net/lsky-upload.git
克隆后进入仓库路径
cd lsky-upload
进行构建
go build
一切正常,不会有输出。ls -l
查看文件,会多一个lsky-upload
可执行文件
-rwxr-xr-x 1 mothra mothra 8060493 5月 7 12:12 lsky-upload
先执行一下这个文件,会有初始配置文件的输出。也是根据仓库的README配置成你的图床url和token就行了
./lsky-upload
4.配置typora
这时候就只需要将typora的上传命令修改为这个可执行文件,就可以了!
PS: deepin上的typora是我在deepin的软件商店里面下载的
typora-免费版
,版本是0.11.18
点击验证测试一下能否正常上传,没问题!