Mac本地安装运行FastDFS

server/2025/3/13 11:04:22/

没错,因为毕设......

服务器过期了,只能装在本地了......

1.配置

macOS 上需要安装以下依赖:

  • Homebrew(macOS 包管理器)

  • gcc(编译器)

  • libevent(FastDFS 依赖)

安装 Homebrew

如果尚未安装 Homebrew,可以通过以下命令安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装依赖

使用 Homebrew 安装 gcc 和 libevent:

brew install gcc libevent

2. 下载 FastDFS

从 GitHub 下载 FastDFS 源码:

进入你想要下载的目录。

wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
tar -zxvf V5.11.tar.gz
cd fastdfs-5.11

3. 编译和安装

由于 macOS 的默认编译器是 Clang,而 FastDFS 需要 GCC,因此需要指定编译器。

编译 FastDFS
sudo ./make.sh CC=gcc-13  # 根据实际安装的 gcc 版本调整
sudo ./make.sh install

但可能还是会报错:gcc-: No such file or directory

但你确实是安装了gcc,有这个的。

解决:

运行以下命令,确认 gcc-13 的路径:

which gcc-13

我的输出是:

/opt/homebrew/opt/gcc@13/bin/gcc-13

记下输出的这个路径,稍后会用到。

在 FastDFS 源码目录中,使用以下命令编译,并指定刚刚的 GCC 路径:

sudo ./make.sh CC=/opt/homebrew/bin/gcc-13

但是这时又出现新的问题了,报错,显示缺失logger.h

我又在官网看了一下,都没有这个文件。

Tags · happyfish100/fastdfs · GitHub

自己创建一个。

以下是 logger.h 的内容:

#ifndef LOGGER_H
#define LOGGER_H#include <stdio.h>
#include <time.h>
#include <stdarg.h>#define LOG_DEBUG 0
#define LOG_INFO  1
#define LOG_WARN  2
#define LOG_ERROR 3void log_init();
void log_write(int level, const char *format, ...);#endif

将上述内容保存为 logger.h,并放到 common 目录下。

又报错了......

666666666666666666666666666666666666666666666666666666666666

保存文件后,重新运行编译命令:

sudo ./make.sh CC=/opt/homebrew/bin/gcc-13
sudo ./make.sh install

如果一切顺利,FastDFS 将会成功编译并安装到系统中,接下来可以根据需要进行配置和使用。

近日总结:

原计划每周末搞论文。

昨天把项目搞起来了(前端一直报错报错报错,147个漏洞,绝了,后端启动配置简简单单,前端启动......也是难为我了)。

今天写了三页论文+陪我亲爱的欧豆豆一起打游戏,然后他又打着打着不见了,真是离谱,习以为常了。

论文才写三页头都要炸开了......

瞬间梦回以前写专利的情形了......

我人都要炸开了......

然后又围观了一会儿宿舍公寓楼大型吵架现场,差点发展到线下干拉......


http://www.ppmy.cn/server/174609.html

相关文章

java虚拟机(JVM)以及各种参数详解

Java 虚拟机&#xff08;JVM&#xff09;提供了许多参数来调整其行为和性能&#xff0c;以便更好地适应不同的应用场景。理解和使用这些参数对于优化 Java 应用程序的性能非常重要。以下是一些常用的 JVM 参数及其详细说明&#xff1a; 1. 内存管理参数 -Xms<size>&…

每天一道算法题【蓝桥杯】【最长递增子序列】

思路 贪心算法 使用ret表来记录最长的位置 #define _CRT_SECURE_NO_WARNINGS 1 #include<vector> using namespace std; class Solution { public:int lengthOfLIS(vector<int>& nums) {int n nums.size();vector<int> ret; //创建一个数组…

深度学习 常见优化器

一、基础优化器 随机梯度下降&#xff08;SGD&#xff09; • 核心&#xff1a;∇θJ(θ) η * ∇θJ(θ) • 特点&#xff1a;学习率固定&#xff0c;收敛路径震荡大 • 适用场景&#xff1a;简单凸优化问题 • 改进方向&#xff1a;动量加速 二、动量系优化器 2. SGD with…

robotjs获取鼠标位置

在 RobotJS 中&#xff0c;你可以使用 robotjs 库来模拟鼠标和键盘操作。如果你想获取鼠标的当前位置&#xff0c;可以使用 robotjs 提供的 getMousePos() 方法。这个方法会返回一个对象&#xff0c;其中包含鼠标的 x 和 y 坐标。 首先&#xff0c;确保你已经安装了 robotjs 库…

K8s 1.27.1 实战系列(八)Service

一、Service介绍 1、Service 的作用与核心功能 Service 是 Kubernetes 中用于抽象一组 Pod 并提供稳定访问入口的资源。它解决了以下问题: ​Pod IP 不固定:Pod 可能因故障、扩缩容或更新导致 IP 变化,Service 通过 ClusterIP(虚拟 IP)提供固定访问地址。​负载均衡:自动…

HttpMediaTypeNotAcceptableException报错解决,状态码显示为406

当返回类没有添加 getter 和 setter 方法时出现 HTTP 406 错误&#xff08;Not Acceptable&#xff09;&#xff0c;主要与 Spring 框架处理响应数据的机制以及消息转换器的工作原理有关 &#xff08;注意前提&#xff0c;你已经添加了json相关库的依赖&#xff09; 消息转换器…

【51单片机】程序实验15.DS18B20温度传感器

主要参考学习资料&#xff1a;B站【普中官方】51单片机手把手教学视频 开发资料下载链接&#xff1a;http://www.prechin.cn/gongsixinwen/208.html 单片机套装&#xff1a;普中STC51单片机开发板A4标准版套餐7 目录 DS18B20介绍主要特性内部结构控制时序初始化时序写时序读时序…

NAT网络地址转换

目录 NAT是什么&#xff1f;(网络地址转换) NAT为什么重要&#xff1f; 解决IP地址不够用的问题 增强网络安全 NAT的工作原理 NAT的几种类型 静态NAT&#xff08;Static NAT&#xff09; 动态NAT&#xff08;Dynamic NAT&#xff09; NAPT&#xff08;网络地址端口转换…