mac环境搭建

2023-11-08

macpro 11 开发环境搭建

一、基础软件安装

1.1 安装nginx

参考 https://www.jianshu.com/p/4f433d219ab7
现在mac认为root安装软件过于危险,不推荐用root账号安装软件,
brew install nginx
nginx 配置文件 /opt/homebrew/etc/nginx/nginx.conf
应用配置文件放在目录 /opt/homebrew/etc/nginx/servers/

启动nginx服务,通过brew services 命令启动的服务开机自动启动
brew services start nginx

关闭nginx服务
brew services stop nginx

重启nginx
brew services restart nginx

查看nginx版本
nginx -v

1.2、安装mysql 8

https://blog.csdn.net/helloworld_again/article/details/107426532

1.3、安装redis

brew search redis
brew install redis

https://blog.csdn.net/weixin_45509705/article/details/119242390

1.4、安装docker

直接下载软件安装即可
https://docs.docker.com/desktop/mac/install/

1.5、常见命令

// telnet
brew install telnet

二、php 语言

如果mac默认安装的php版本不是想要的,可以按照以下步骤安装需要的版本。
首先安装homebrew,如已经安装,忽略

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

接下来安装php

brew install php@7.4
刷新php连接
brew link php@7.4
此时执行php指令,使用的仍然是默认安装的 /usr/bin/php ,执行以下命令
  echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.bash_profile
这样执行php指令时,就会改为使用新安装的php版本
 
查看php版本,可以发现php已经是新版本了
php -v

查看PHP的服务
brew services list

# 启动新的版本php的php-fpm
brew services start php@7.4
# 重新启动php-fpm
brew services restart php@7.4
# 新版本php.ini 和 php-fpm 配置文件所在目录
/opt/homebrew/etc/php/7.4/

其他版本,安装命令如下(php 7.1 不支持这种方式安装)
brew install php@7.2
brew install php@7.3
brew install php@8.1

php-fpm配置
默认php.ini. php-fpm.conf 都没有,可参考下文进行配置
https://www.jianshu.com/p/2ff021226e22

在为php 7.4安装rdkafka扩展时,遇到一个问题。
安装命令如下

# 安装librdkafka
brew install librdkafka
# 卸载 librdkafka命令
brew uninstall librdkafka

# 安装rdkafka扩展
wget https://pecl.php.net/get/rdkafka-6.0.1.tgz
tar zxvf rdkafka-6.0.1.tgz
cd rdkafka-6.0.1
/opt/homebrew/opt/php\@7.4/bin/phpize
./configure --with-php-config=/opt/homebrew/opt/php\@7.4/bin/php-config
make
make install
# 最后在php.ini增加 extension=rdkafka.so

在执行 make install 时报错,网上查资料并结合实际测试,发现是因为
/opt/homebrew/opt/php@7.4/bin/php-config 中 extension_dir 扩展目录值如下,

extension_dir='/opt/homebrew/Cellar/php@7.4/7.4.29/pecl/20190902'

执行ls命令

ls -l /opt/homebrew/Cellar/php@7.4/7.4.29 | grep pecl
pecl -> /opt/homebrew/lib/php/pecl

但是 /opt/homebrew/lib/php/pecl 这个目录并不存在,执行以下命令

mkdir /opt/homebrew/lib/php/pecl && cd /opt/homebrew/lib/php/pecl
ln -s ../../../Cellar/php@7.4/7.4.29/lib/php/20190902 20190902

后再 make install 就ok了
另外还需执行以下命令,不然会报pcre相关函数找不到定义

 ln -s /opt/homebrew/include/pcre2.h /opt/homebrew/Cellar/php\@7.4/7.4.29/include/php/ext/pcre/pcre2.h

而且如果 php升级后,扩展目录可能发生变化,可能需要重新安装扩展。通过pecl安装的扩展,会自动修改php.ini 将扩展加进去。

# 常用扩展安装
pecl install xdebug
pecl install redis
# mongo扩展已经停止维护了,使用mongodb扩展
pecl install mongodb

通过pecl 安装的扩展,如果想卸载,需要先手动将扩展从 php.ini 中移除,然后执行 pecl uninstall 扩展名 命令。示例如下

# 1、先到 php.ini 中将 删除  extension="redis.so"  这一行
# 2、执行 uninstall 命令卸载扩展
pecl uninstall redis

三、golang 语言

在 https://golang.google.cn/dl/下载 语言安装包
在这里插入图片描述

四、java 语言

4.1 jdk安装

先注册oracle账号,然后下载jdk安装包安装。需要注意的是,JDK 8u202 之后的update版本如果商用需要订阅付费,对于付费用户,直接下载自己所需要的版本即可,如果想继续用免费的版本,下面链接里的,就是最后一个免费的版本。
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
在这里插入图片描述

4.2 gradle安装

gradle需要java版本最低为 JDK 8,然后执行以下命令即可安装
brew install gradle

IntelliJ IDEA导入项目报错: Invalid Gradle JDK configuration found.解决办法参考
IntelliJ IDEA导入项目报错: Invalid Gradle JDK configuration found.
https://www.pianshen.com/article/1788332883/

五、前端软件

5.1 node

brew install node

5.2 npm

brew install npm

六、工具软件

6.1、wireshark

6.2、typora

目前typora最新版本是付费版,如果不想使用付费版,可以使用最后一个免费测试版 0.11.18,使用测试版本时,有的会遇到打开软件后报 “当前测试版版本过低,请下载较新版本” 这个提示,必须升级才能使用的情况,解决办法如下:

  1. 修改系统时间到 2022年03月09日 之前
  2. 打开Typora => 偏好设置=》取消"自动检查更新"

6.3、md5sum命令安装

brew install md5sha1sum

6.4、tree 命令安装

brew install tree
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mac环境搭建 的相关文章

随机推荐

  • STM32初学者项目一:点亮第一颗LED灯(基于地址操作)

    步骤1 在SYSTEM创建相应的外设文件夹以及对应的 c h源文件 具体可参考之前写的创建基本工程文件 基于STM32官方库如何独立创建一个标准的STM32F103X的标准工程文件 是浩吉呀哈的博客 CSDN博客 步骤2 将对应的源文件加入
  • PHP登录注册页面

    注册 html 注册1 php
  • 四元数 旋转 旋转矩阵 欧拉角互相转换

    四元数的作用 表达旋转 旋转的表达方式有很多种 有欧拉角 旋转矩阵 轴角 四元数 unit quaternion unit quaternion是一种表达旋转的方式 不同的旋转表达方式概览 1 欧拉角 欧拉角使用最简单的x y z值来分别表
  • Python如何计算两个数字之和是多少?

    python是一门非常受欢迎的编程语言 具有多种优势 简单易学 用途广泛 免费开源 易读易维护 可移植 且具有丰富的库 在诸多领域都得到了广泛的应用 而在python中 求两个数的和是非常常见的需求 但很多小伙伴在实际操作过程中经常会出现报
  • 第【4】篇 如何理解数字货币?它与区块链又是什么样的关系?

    为什么80 的码农都做不了架构师 gt gt gt 从历史进程来看 货币的形态主要经历了几次变化 从早期社会如兽皮 牲畜 陶器的物物交换 到各种贝壳类的货币 再到后面的铜币 乃至后来人们选择了黄金和白银作为流通货币 随着消费需求不断增加 人
  • Android获取系统文件常用路径(详细)

    在android 6 0以前 你可以只关注外置存储是否挂载即可 但是从6 0以后 也就是M系统后 还需要判断是否有读写权限 只有具备这些权限才可以读写外置存储 package com jinfeng gongshigonggao utils
  • 获取1-10000之前所有的对称数(回文数)

    对称数 求 1 10000 之间的所有对称数 回文 例如 0 1 2 11 22 101 232 1221 思路1 使用数组反转 数字转换为字符串 字符串转换为数组 reverse 再 join 生成字符串 比较前后的字符串 查询 1 ma
  • 【论文阅读-Transformer】Attention is all you need

    Title Attention is all you need From NeurIPS 2017 Link https arxiv org abs 1706 03762 Code https github com tensorflow t
  • 若依框架整合mybatis-plus

    若依框架之整合mybatis plus mybatis plus在若依框架中的应用 文章目录 若依框架之整合mybatis plus 前言 一 为什么要用mybatis plus 二 整合步骤 1 引入pom文件 2 增加mybatis p
  • 高德地图api之编码(Geocoder)

    高德地图目前仅支持中国范围内的的地理编码和反地理编码 当我们在做搜索功能的时候 由于用户不可以记住地点的经纬度 所以只可能输入地名 所以地理编码就显得额外重要 这里我们查看一下AMap api中的地理编码 地理编码 地理编码 顾名思义就是根
  • [QT] QMap使用详解

    QT QMap使用详解 引言 QMap QMultiMap属于关联式容器 其底层结构是通过二叉树实现 故其查找value的效率很快 QMap中的数据都是成对出现的 第一个称为key 键 第二个称value 键值 目录 实例化QMap对象 插
  • 这才是真正的 Git——分支合并

    本文作者 lzaneli 腾讯 TEG 前端开发工程师 合并前文件还在的 合并后就不见了 我遇到 Git 合并的 bug 了 是两句经常听到的话 但真的是 Git 的 bug 么 或许只是你的预期不对 本文通过讲解三向合并和 Git 的合并
  • C++命名空间

    为了避免变量 函数 类 结构体等重命名 我们可以使用命名空间 简单的用例 定义命名空间 namespace name 代码声明 使用命名空间 code为name命名空间中的成员 name code using指令 使用 using name
  • Python中的is和==理解

    Python中的is和 理解 Python中的三要素 id 身份标识 type 数据类型 value 值 is 和 具体区别 是python标准操作符中的比较操作符 用来比较判断两个对象的value 值 是否相等 a1 hello a2 h
  • 5分钟学会ECharts项目:全球GDP数据可视化

    应对现在数据可视化的趋势 越来越多企业需要在很多场景下使用可视化图表来展示体现数据 让数据更加直观 数据特点更加突出 目前 数据可视化JS库也有很多 比如 echarts d3 js 等等 本项目使用的是 echarts 库实现的 效果如下
  • 靶形数独

    我终于AC了 毒瘤卡常题 pragma GCC optimize 1 pragma GCC optimize 2 pragma GCC optimize 3 pragma GCC optimize Ofast pragma GCC opti
  • kettle 转换命名参数从将上一转换的参数传递到下一转换中

    kettle 转换命名参数从将上一转换的参数传递到下一转换中 1 知识点 1 如何将转换中的行记录传递到job 结果 中 2 如何使用转换的命名参数功能获取到上一转换中的参数 2 需求及实现 1 需求 如下图所示在转换1中将转换中的结果值传
  • 一起来算圆周率

    转载自 http www guokr com blog 444081 自古计算圆周率是数学界一项流行运动 各大数学家争相破记录以名垂青史 想象有人为圆周率15年如一日地算 算的不是圆周率而是寂寞啊 自有圆周率 计算比的是数学 后有现代数学
  • r语言怎么把txt数据变成一个Rdata格式_R语言 第2章 数据对象与数据读写(8)

    Rcurl举例 读取拉手深圳美食搜索 解析页面内容 获取门店名称 描述 优惠价 门店价 课后练习1 读取系统日期时间 进行变量类型的转换 对转换前后的变量类型进行辨别对比 1 使用读取系统当前日期时间的3个函数 Sys Date Sys t
  • mac环境搭建

    macpro 11 开发环境搭建 一 基础软件安装 1 1 安装nginx 参考 https www jianshu com p 4f433d219ab7 现在mac认为root安装软件过于危险 不推荐用root账号安装软件 brew in