mac-intel操作系统go-stock项目(股票分析工具)安装与配置指南


1. 项目基础介绍

go-stock 是一个基于Wails和NaiveUI开发的AI赋能股票分析工具。旨在为用户提供自选股行情获取、成本盈亏展示、涨跌报警推送等功能。它支持A股、港股、美股等市场,能够进行市场整体或个股的情绪分析、K线技术指标分析等功能。所有数据均保存在本地,同时支持多种AI大模型平台,如DeepSeek、OpenAI、Ollama、LMStudio、AnythingLLM等。该项目旨在为用户提供一个娱乐性和学习研究性的股票分析工具。

主要的编程语言:Go

2. 项目使用的关键技术和框架  

Go:项目的主体编程语言,用于构建后端逻辑。
Wails:一个用于快速构建跨平台桌面应用程序的框架。
NaiveUI:一个基于Vue的UI库,用于创建简洁、优雅的用户界面。
Vue:用于构建用户界面的渐进式JavaScript框架。
AI大模型:集成AI分析股票功能,可能使用了如OpenAI、Ollama、LMStudio等AI平台或模型。

3. 项目安装和配置的准备工作与详细步骤

准备工作

源码:https://github.com/ArvinLovegood/go-stock,版本20250906-master
安装Go语言环境,配置好GOPATH等环境变量。
安装Git,用于克隆项目代码。
安装Node.js和npm,因为项目使用了Vue和NaiveUI。
对于Windows用户,可能还需要安装NSIS,用于生成安装程序。

安装步骤

3.1克隆项目


首先,下载源码,使用Git克隆项目到本地:

git clone https://github.com/ArvinLovegood/go-stock.git
进入项目目录,安装Go语言依赖:

brew install go 

go version查看当前go的版本号。go version go1.25.1 darwin/amd64
需要升级go语言版本的,输入以下命令:

brew upgrade go

安装项目依赖,会下载文件

cd go-stock
go mod tidy

3.2运行构建脚本

cd scripts/
sh ./build-macos-intel.sh 运行提示 Warning: go.mod is using Wails '2.10.1' but the CLI is 'v2.10.2'. ,所以最好wails安装2.10.1版本

wails: command not found,安装wails

go install github.com/wailsapp/wails/v2/cmd/wails@latest # 检测wails是否安装好,安装成功后在~/go/bin目录下会有wails文件
wails doctor提示:-bash: wails: command not found
设置环境变量
export PATH=$PATH:~/go/bin

failed to load config from /Users/sxf/go/go-stock/frontend/vite.config.js

    error during build:

Error [ERR_REQUIRE_ESM]: require() of ES Module /Users/sxf/go/go-stock/frontend/node_modules/unimport/dist/index.mjs not supported.

node.js版本太低,升级node到24.7.0

3.3安装前端依赖:(忽略)

cd frontend
npm install


构建项目
构建前端资源:

cd frontend
npm run build

构建成功后将 ./go-stock/frontend/dist目录下的文件放到web服务器上,

页面js报错,TypeError: Cannot read properties of undefined (reading 'EventsOnMultiple')
 
4.配置


根据项目需求,可能需要配置以下文件:

config.yaml:配置股票数据源、API密钥等。
app.go:可能需要根据您的需求调整一些配置。
运行


4.运行构建后的程序:

/go-stock/build/bin/go-stock.app
运行后闪退,完美不成功。
按照以上步骤,您应该能够成功安装并运行go-stock项目。如果遇到任何问题,留言一起解决,或联系开源作者交100进群学习。

下截官方zip包,解压后运行正常

打开后什么都不用做,输入股票代码,关注即可
 

5.go-stock源码解析

5.1.项目的目录结构如下:

.github/: 存放GitHub特有的文件,如issue模板、actions配置等。
backend/: 项目后端代码目录,包含主要的业务逻辑。
build/: 构建脚本和配置文件,用于构建和打包项目。
frontend/: 项目前端代码目录,包含用户界面和交互逻辑。
scripts/: 执行项目构建、测试等操作的脚本文件。
.gitignore: Git忽略文件列表,用于指定不需要提交到Git仓库的文件和目录。
CODE_OF_CONDUCT.md: 项目行为准则文件。
CONTRIBUTING.md: 项目贡献指南,提供如何参与项目的说明。
LICENSE: 项目许可证文件,本项目采用Apache-2.0协议。
README.md: 项目介绍和说明文件。
SECURITY.md: 安全策略文件。
app.go: 项目主程序文件。
app_darwin.go: 为Darwin操作系统(如macOS)特定的程序文件。
app_linux.go: 为Linux操作系统特定的程序文件。
app_test.go: 测试代码文件。
go.mod: Go语言依赖管理文件。
go.sum: Go依赖的校验文件。
main.go: 主函数文件,用于启动程序。
wails-naive.png: 项目图标文件。
wails.json: Wails项目的配置文件。
 

5.2. 项目的启动文件介绍

项目的主要启动文件是main.go。以下是main.go文件的主要内容:

使用goland开发工具导入目录go-stock,运行命令:go build go-stock

报错:[FATAL]    [go-stock/main.go:187]    Wails applications will not build without the correct build tags.

调试时未发现代码错误行数,有可能是数据库没有数据导致的

想办法连接数据库:文件路径 /go-stock/data/stock.db,sqlite数据库

表内都是空的,有点头痛.

呵呵,方向错了,搞定wails dev

5.3. 项目的配置文件介绍

项目的配置文件是wails.json。以下是wails.json文件的主要内容:前端调用后端的端口号

5.4.备注

调试

go get -u github.com/go-delve/delve/cmd/dlv

Wails 项目中,打开 GoLand 的「运行/调试配置」,点击「+」,选择「Go Build」,然后在「运行种类」中选择「软件包」,在「环境」中输入 export CGO_LDFLAGS="-framework UniformTypeIdentifiers" ,在「 Go 工具实参」中输入 -tags dev -gcflags "all=-N -l"


-tags=dev -gcflags="all=-N -l" -ldflags="-framework UniformTypeIdentifiers"

依然有问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96331.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring-单例bean是线程安全的吗

其中可修改的成员变量有线程不安全问题,不可修改的无状态的 userService是没有线程安全问题的 spring框架中有一个 Scope注解,默认的值就是singleton,单例的。 不是线程安全的,一般来说,我们在bean中注入的对象都是无状…

CM1033系列 3串锂电池保护IC - 高精度±25mV 内置延时 多型号可选(含铁锂)

1. 核心亮点 高精度多重保护:专为3串电池组设计,提供过充、过放、三级过流(含短路)、充电过流及断线检测等全方位保护,电压检测精度高达25mV。超低功耗:工作电流典型值仅7μA,休眠电流低至4μA&…

【第23话:定位建图】SLAM后端优化方法详解

SLAM 后端优化方法详解 SLAM(Simultaneous Localization and Mapping)后端优化是SLAM系统中的关键环节,负责对前端输出的传感器数据进行全局一致性优化,消除累积误差。后端通常基于图优化框架(如g2o、GTSAM&#xff09…

MongoDB 备份与恢复终极指南:mongodump 和 mongorestore 深度实战

MongoDB 备份与恢复终极指南:mongodump 和 mongorestore 深度实战引言:数据守护者的使命第一部分:基础概念与核心原理1.1 逻辑备份 vs. 物理备份:根本性的区别1.2 核心工具介绍第二部分:mongodump 备份实战详解2.1 基础…

鸿蒙的“分布式架构”理念:未来操作系统的关键突破

一、引言:为什么需要分布式架构? 随着移动互联网的发展,智能设备不断普及。用户身边可能同时拥有 手机、平板、PC、电视、手表、耳机、智能音箱、车机 等多种终端设备。 但现实中,我们常遇到以下问题: 不同设备系统割…

MySQL 事务管理与锁机制:解决并发场景下的数据一致性问题

前言在电商下单、金融转账、库存扣减等并发业务场景中,若不控制数据操作的原子性与隔离性,极易出现 “超卖”“重复扣款”“脏读数据” 等问题。MySQL 的事务管理与锁机制是解决这些问题的核心技术,也是后端开发者必须掌握的生产环境能力。本…

MySQL集群高可用架构

一、MySQL高可用之组复制(MGR)1.1 组复制核心特性与优势MySQL Group Replication(MGR)是基于分布式一致性协议(Paxos)实现的高可用集群方案,核心特性包括:自动故障检测与恢复&#x…

判别模型 VS 生成模型

1. 判别模型(Discriminative Models)判别模型直接学习输入特征(X)与输出标签(Y)之间的映射关系,即直接对条件概率P(Y|X)进行建模。判别模型关注于如何区分不同类别的数据。特点:直接…

代码随想录算法训练营第三十一天 | 合并区间、单调递增的数字

合并区间: 这里还是先对左区间进行排序,判断重叠区间,首先判断是否存在元素,存在那么就将元素的第一个放到结果中,那么判断重叠就是当前元素的左区间和结果集里的最后元素的右区间进行判断,如果重叠&#x…

EXCEL VBA 清空Excel工作表(Sheet)的方法

1. 删除所有内容,但保留格式和对象 这种方法只会清除单元格的内容,不会影响格式和嵌入的图表或对象。 Sub ClearSheetContents()Worksheets("Sheet1").Cells.ClearContents End Sub2. 删除所有内容和格式,但保留对象 这种方法会删除…

智能客户服务支持智能体

超越传统客服机器人。智能体可以深度查询知识库、调用订单系统API、甚至根据客户情绪灵活处理退货、退款、升级投诉等复杂流程。 案例: 客户说:“我上周买的鞋子尺码不对,想换货但是找不到订单页面了。” 智能体行动: ① 通过用户…

【MySQL|第四篇】DQL语句(二)——数据查询语言

4、排序分页:(1)排序:查询数据的时候进行排序,就是根据某个字段的值,按照升序或者降序的情况将记录显示出来语法: select col_name,... from tb_name order by col_name [asc|desc]注意事项&…

百度文心X1.1发布!实测深度思考能力!

文章目录背景模型实测效果事实性指令跟随智能体模型技术解读基准测试文心飞桨携手共进总结背景 9月9日,WAVE SUMMIT深度学习开发者大会上,百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰正式发布了文心大模型X1.1深度思考模型&#xff…

基于Java+SpringBoot的B站评论系统架构设计与实践深度解析

基于JavaSpringBoot的B站评论系统架构设计与实践深度解析 前言 作为国内领先的视频分享平台,B站的评论系统承载着海量用户的实时互动需求。本文将从架构师角度,基于JavaSpringBoot技术栈,深度解析评论系统的技术实现方案、核心难点及扩展性设…

赋能数字孪生:Paraverse平行云实时云渲染平台LarkXR,提供强大的API与SDK用于二次开发和深度集成

在数字孪生渗透千行百业的今天,构建一个高保真、实时交互、可大规模访问的虚拟孪生世界已成为核心需求。然而,对于开发者而言,从零开始构建实时云渲染、海量模型加载、数据双向互通、多端适配、网页嵌套,平台定制化等底层技术难关…

基于Nginx实现反向代理、负载均衡与动静分离完整部署指南

基于Nginx实现反向代理、负载均衡与动静分离完整部署指南 文章目录基于Nginx实现反向代理、负载均衡与动静分离完整部署指南一、架构规划与环境准备1.1 架构设计思路1.2 服务器规划1.3 环境依赖二、部署Nginx负载均衡器2.1 安装Nginx依赖包2.2 创建Nginx专用用户2.3 编译安装Ng…

HTML5国庆网站源码

一. 网站概述 本国庆主题网站以弘扬爱国主义精神为核心,通过丰富多元的交互功能与视觉设计,打造沉浸式国庆体验空间。网站采用单页面架构,通过平滑滚动实现各模块的无缝衔接,涵盖首页、知识科普、互动体验等十大功能板块&#xf…

MySQL收集processlist记录的shell工具mysql_collect_processlist

文章目录安装指南日志文件内容日志分析参考1.简单检索2.统计不同状态的语句的数量3.按照时间统计注意事项仓库这是一个纯脚本工具,用于从MySQL的information_schema.processlist视图中定期收集数据并保存到本地日志文件。支持MYSQL5.7-9.4版本。 template copy fro…

工业RFID现场网关模块:实现多协议互通,128台读写设备互连!

随着工业4.0进程加速,企业对生产系统集成度的需求不断增长。在工厂中常需整合不同品牌PLC、驱动器、机械臂、读写器等设备系统,这其中就会涉及到如Profinet、EtherNet/IP、EtherCAT、Modbus TCP、CC-LINK IE等不同通讯协议连接。虽可将部分设备直接与PLC…

黑马点评高级篇第7节课 输入INFO replication 显示0个从节点,但是在7002节点又显示它已经是7001节点的从节点了

问题描述在黑马点评高级篇第七节课的这个位置​​​​​​,当我输入INFO replication 的时候下面本应该显示为connected_slaves: 2,但是我的显示的是0。然后当我切换到7002端口的节点时,又显示7002就是7001的从节点解决我看弹幕上说在7002和7…