wx-msg-push icon indicating copy to clipboard operation
wx-msg-push copied to clipboard

关于安装的问题

Open superen7527 opened this issue 3 years ago • 4 comments

你好...我又来打扰了... 没用过go 不过查询了一些资料 已经搭建好了go环境 不过我是国内服务器 连不上github 等很久还error 于是开了下官方代理 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct

接下来运行 go get -u github.com/zyh94946/wx-msg-push 很成功的运行了

但是运行下面这个 wx-msg-push server -c config.toml 失败 提示wx-msg-push不存在

我反复看了好几遍 关于"go get -u github.com/zyh94946/wx-msg-push 直接安装可执行文件至 $GOPATH/bin"中 直接安装的意思是说执行了这个命令就可以自动安装到 还是需要我手动再如何安装一下? 关于这个问题 我搜不到相关的问题..可能是不太了解go不知道如何搜索关键词导致的 只好再发个issue..

不过顺便反馈下我感觉有的两个问题

1.看了下config是支持多企业的 虽然这种情况很难出现 不过是不是有可能多个企业中会有重复的corpsecret 这样对于api(https://ip:port/CORP_SECRET?title=消息标题&content=消息内容&type=消息类型)中只有corpsecret这样的方式来决定给哪个应用通知是不是不太严谨而且可能出现泄露corpsecret的风险? 会不会直接利用config的顺序这里用1 2 3来代替corpsecret会好一点? 当然这种情况应该很难出现 可以不需要考虑 只是提一句

2.这个是关于api中 title的 参数问题 好像您的想法是利用api自动markdown来加粗标题? 但是我在云函数的上一个版本中 (因为新版本还没测试 想直接搭建这个独立版 不知道问题还在不在) 发现title参数好像并没有效果 倒不如只留下content来自己处理内容 还是说可能是项目中哪里遗漏让title不生效了?当然只是提一句 没有质疑之意。 这些看起来都是无关紧要的小问题 可以不用太放心上

superen7527 avatar Apr 29 '21 20:04 superen7527

会自动安装,GOPATH查看可以执行 go env | grep GOPATH

关于问题:

  1. 可以自定义 [wechatconf.you_corp1_secret] 这个地方的 you_corp1_secret, 这个只是用来匹配 url 中的 CORP_SERCRET。为了兼容云函数版,readme 并没有做过多说明。
  2. title 只在图文消息类型有用,并且title也不支持markdown,如果是文本消息可以不传。

后续会增加预编译版本直接下载使用。

zyh94946 avatar Apr 30 '21 01:04 zyh94946

我看明白了 之前没看懂go的语法

我部署go时 给了环境变量 echo 'export GOROOT=/usr/local/go'>>/etc/profile echo 'export PATH=$PATH:$GOROOT/bin'>>/etc/profile echo 'export GOPATH=/work'>>/etc/profile

gopath并没有放到path里 所以是-bash: wx-msg-push: command not found

echo $PATH 看了当前的环境变量然后末尾临时加上了gopath/bin export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/bin:/work/bin

再运行wx-msg-push server -c config.toml 可以是可以了 不过 结果提示config文件不存在... config file err: open config.toml: no such file or directory

看了一下 执行文件确实自动安装在/work/bin 也就是 gopath/bin目录下 然后配置文件config.toml一直和整个项目在/work/src/github.com/zyh94946/里

这下我也没辙了 我水平不够 等以后增加直接使用的版本出来我再试试

就先不打扰您了 等完善了我再用吧 不催促您 慢慢来 我也不急于一时

最后祝您生活愉快,感谢跟进回复。

superen7527 avatar Apr 30 '21 05:04 superen7527

我看明白了 之前没看懂go的语法

我部署go时 给了环境变量 echo 'export GOROOT=/usr/local/go'>>/etc/profile echo 'export PATH=$PATH:$GOROOT/bin'>>/etc/profile echo 'export GOPATH=/work'>>/etc/profile

gopath并没有放到path里 所以是-bash: wx-msg-push: command not found

echo $PATH 看了当前的环境变量然后末尾临时加上了gopath/bin export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/bin:/work/bin

再运行wx-msg-push server -c config.toml 可以是可以了 不过 结果提示config文件不存在... config file err: open config.toml: no such file or directory

看了一下 执行文件确实自动安装在/work/bin 也就是 gopath/bin目录下 然后配置文件config.toml一直和整个项目在/work/src/github.com/zyh94946/里

这下我也没辙了 我水平不够 等以后增加直接使用的版本出来我再试试

就先不打扰您了 等完善了我再用吧 不催促您 慢慢来 我也不急于一时

最后祝您生活愉快,感谢跟进回复。

你指定配置文件时用绝对路径就好了,举个例子:

$ wx-msg-push server -c /work/src/github.com/zyh94946/config.toml

zyh94946 avatar Apr 30 '21 06:04 zyh94946

好的 谢谢 已经成功了 说到底还是我对linux不熟练导致的

能再问一句 这些文件位置应该没有什么系统关联吧? 就是说我把执行文件放到别的环境目录下 把你的项目放到其他位置 绝对路径填好 应该也可以吧?

作者太贴心我差点忘了应该自己去试了一下 不用回复了 把执行文件放入/usr/local/go/bin 项目文件夹移动到/usr/local/go/src/wx-msg-push ssh直接执行wx-msg-push server -c /usr/local/go/src/wx-msg-push/config.toml下面就成功了

看样子是没有关联的 我比较喜欢自己手动放项目到目录 这样也可以省略掉最开始的github链接问题 看来项目手动是可行的 只不过执行文件好像还是需要编译生成 明白了项目开头是 【clone 本项目后执行编译 make build,编译其它平台参考 Makefile】的意思了 这个执行文件是需要编译不能直接下载的 还是得通过自己编译项目文件夹或者继续用go get -u命令来一键编译了。

这里就给后来人做个记录

才发现3h前有编译好的版本 也多了一个【推荐直接从 releases 中下载预编译的包】说明 下载看了一下 居然只有config和执行文件这两个文件。看来和我想的一样,config只是对执行文件添加唯一需要的参数 和项目其他文件是没有关系的 好像只是单纯原来编译的 如果配置是固定说不定还不需要config直接编译执行文件可能就行了。难为作者一步步为我这种小白考虑了。明明最开始是划掉了“通过简单部署就能用”这几个字 没想到最后还是操心到都编译好了。。怎么说也太贴心了 说的是 “后续会增加预编译版本直接下载使用” 结果不到5小时就发布了 效率也高 赞。

既然这样我这个1号issue也帮宝藏项目写个小白教程。

1,部署go环境 网上很多命令就不说了 2,echo $PATH 查看环境变量路径 3,下载 https://github.com/zyh94946/wx-msg-push/releases/ 最新版自己系统版本对应的zip包 code是整个项目 不需要下载 4,其中wx-msg-push为执行文件 放入步骤2中查询的一个路径 推荐为go相关的路径;config随便放 重命名也可以 只要读取出来的是文本配置就行 5,wx-msg-push server -c /绝对路径/config.toml 即可前台监听端口测试 6,关于进程守护参考:http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html

如果用的go get -u方法 最好gopath路径就是环境变量;config在 gopath/src/github.com/zyh94946/wx-msg-push/config.toml;

我之前是不懂直接网上复制粘贴 gopath不是对应环境变量,才导致这个issue的产生,现在理解了就清晰明了了。感谢作者给了我学习新东西的机会。 而且这个项目已经完美代替了新版付费server酱 自己用secret也会更放心 支持多用户 很棒的项目,喜欢的可以startfork。也可以给作者捐赠,现在这样的好作者不多了哈哈。

superen7527 avatar Apr 30 '21 09:04 superen7527