为了安装golong + protobuf, 安装了几个prosix工具,从头编译。开发者帮助开发者

​​M1芯片虽然已经出来一段时间了,还是有很多工具没有很好的迁移到新的系统上来。

我发现,home brew 虽然支持 Rosetta启动,但是需要安装两个版本的home brew。两个环境的切换很麻烦,而且arm64版很多工具的管理都很差。而且涉及到两种版本二进制需要创建不同的安装路径,不容易做到版本切换。很容易混乱。所以我只好放弃不用。

对于比较好用的工具管理就是 sdkman。https://sdkman.io/ 在 sdkman 能够管理的工具我已经基本上使用 sdkman 来管理了。比如 jdk, scala, sbt, springboot, visualvm 等等。

sdkman 的配置文件有一个非常重要的选项可以强制只显示arm64本地的安装包。大家可以选择使用。

vi ~/.sdkman/etc/config#设置只显示arm64本地化安装包
sdkman_rosetta2_compatible=false

我们以protobuf 为例,当前protobuf还没有提供aarch64的发版。x64的却是不能工作。

所以我们在很多时候还是需要自己来编译。那就说干就干吧。

  1. 首先需要安装 xcode 的命令行工具。
sudo xcode-select —install

如果你已经安装了,但是由于长期使用,系统有些乱,那就可以这么来一下:

sudo xcode-select —reset

2. 安装相关的posix工具

Install autoconf

CFLAGS="-arch arm64" CXXFLAGS=$CFLAGS
curl -#OL https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar xf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure
make
sudo make install

Verify autoconf

which autoconf
autoconf --version

Install Automake

CFLAGS="-arch arm64" CXXFLAGS=$CFLAGS
curl -#OL https://ftp.gnu.org/gnu/automake/automake-1.16.3.tar.gz
tar xf automake-1.16.3.tar.gz
cd automake-1.16.3
./configure
make
sudo make install

Verify Automake

which automake
automake --version

Install libtool

CFLAGS="-arch arm64" CXXFLAGS=$CFLAGS
curl -#OL https://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz
tar xf libtool-2.4.2.tar.gz
cd libtool-2.4.6
./configure
make
sudo make install

Verify libtool

which libtool
libtool --version

3. 编译安装protobuf

git clone https://github.com/protocolbuffers/protobuf.git
autoreconf -i
./autogen.sh
./configure
make
make check
sudo make install  # 设置环境变量
export PATH=/opt/usr/local/bin:$PATH

4. 安装protobuf golang支持

Go语言已经支持M1所以可以按照这篇文档安装Go。

https://onexlab-io.medium.com/install-golang-apple-macos-m1-silicon-chip-87781f556b2f

结下来就可以安装protobuf工具了。

​go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.26
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1

Update your PATH so that the protoc compiler can find the plugins:

export PATH="$PATH:$(go env GOPATH)/bin"

注意在安装中,版本有可能会有问题,请注意使用最新版本。​​​​

5. 安装AWS相关工具

安装 AWS 客户端:

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

安装kubectl :

curl -LO "https://dl.k8s.io/release/v1.21.2/bin/darwin/arm64/kubectl"curl --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_arm64.tar.gz" -o eksctl.tgzchmod +x kubectltar -xzvf eksctl.tgz sudo mv kubectl eksctl /usr/local/bin/

参考文档:

Getting started with Amazon EKS - Amazon EKS

Apple M1(Mac Arm64) 安装开发工具相关推荐

  1. m1mac安装linux,M1 Mac 能安装 Ubuntu 和 Linux 了 ??

    原标题:M1 Mac 能安装 Ubuntu 和 Linux 了 ?? 作者:IT 之家.cnBeta 一.安装 Windows 10成功后:M1 Mac 运行 Ubuntu 也实现了 借助模拟器工具Q ...

  2. M1 Mac无法安装达芬奇17,装载m1芯片的mac如何安装达芬奇17!

    达芬奇调色软件DaVinci Resolve Studio 17是Blackmagic Design 旗下一款著名的调色软件,也是世界上唯一一款将专业8K编辑,色彩校正,视觉效果和音频后期制作功能集于 ...

  3. M1 Mac无法安装达芬奇17,怎么办?

    达芬奇调色软件DaVinci Resolve Studio 17是Blackmagic Design 旗下一款著名的调色软件,也是世界上唯一一款将专业8K编辑,色彩校正,视觉效果和音频后期制作功能集于 ...

  4. MAC版php开发工具推荐:10款最流行的mac版php开发工具

    目前使用MAC ios系统的php开发者越来越多.那目前MAC下php开发都用哪些工具呢?可能对于php初学者不知道该用哪些或者哪些mac版的php开发工具比较好?php中文网特为PHP开发者推荐几款 ...

  5. Java工程师入职——配置环境及安装开发工具

    很多新人对于进入新公司,大部分都是从发新电脑新系统开始(你好,我是小娜,让我来帮你....),电脑上各种开发环境都是从无到有,所以接下来小编从安装java到配置环境变量到eclipse等进行一系列环境 ...

  6. 怎样在M1 Mac上安装iPhone或iPad应用程序?

    在M1芯片的众多优势中,还有一种在M1 Mac上安装任何iPhone或iPad应用程序的功能.由于两个操作系统共享通用的体系结构,因此这是可能的.现在的问题是,如何才能同时安装优化和未优化的iOS或i ...

  7. M1 Mac 上安装 python mysqlclient

    下面记录了在 M1 Mac 上如何解决安装 python mysqlclient 失败的问题. 安装过程 一开始的安装命令: pip install mysqlclient==1.4.4 安装 mys ...

  8. 关于Apple M1 芯片软件安装异常的解决方法

    这篇文章来源自:https://zhuanlan.zhihu.com/p/358957639 拥有 Apple M1 芯片的 Mac 小伙伴们可能会在安装软件的时候遇到一些异常情况,下面佐佐整理了可能 ...

  9. Android Studio for mac(Android集成开发工具)

    Android Studio for mac是谷歌称为将会让开发者更快.更具生产力,它完全免费,跨平台支持 Win/Mac/Linux,Android Studio for mac是替代 Eclips ...

最新文章

  1. pytorch实现手写数字识别_Paddle和Pytorch实现MNIST手写数字集识别对比
  2. Mac环境下sublime实现列选择或编辑的方法
  3. 解决两个虚拟机网络适配器都为NAT模式,其中一台无法上网的情况
  4. UDP socket编程中使用connect
  5. openstack中手动修改虚拟机IP后不能通信
  6. 你不知道的JS(this)---#
  7. Akka并发编程——第五节:Actor模型(四) 停止Actor
  8. java中随机数Random和ThreadLocalRandom()用法与区别
  9. raspberry pi_尝试8个有趣的Raspberry Pi项目
  10. Tween Animation----Translate位置移动动画
  11. opt eclipse jre bin java_在Eclipse中指定JDK
  12. 实战爬虫:python爬虫学习笔记之爬取大前端网站
  13. Pspice17.2安装教程
  14. 聊聊集成电路工程技术人员都有哪些?
  15. 高数复习(1)--曲线切向与曲面法向的理解
  16. selenium简单模拟百度搜索点击器
  17. 小程序实现文字竖排展示
  18. 主图指标,原创极强黄点,将军柱和黄金柱都是3日的
  19. 数字信号处理中,系统函数零极点图的绘制
  20. ipv4-only网络环境下访问ipv6站点的三种方式

热门文章

  1. 计算机必须设置默认打印机,win10系统禁止更改默认打印机设置的还原技巧
  2. 怎样设置默认打印机(HttpPrinter 易桥打印中间件)
  3. python实现excel单元格合并_python进行excel单元格合并逆操作
  4. 线性代数矩阵行列式_矩阵的行列式 使用Python的线性代数
  5. RabbitMQ学习
  6. 群接龙脚本autojs总结and精美ui
  7. 木瓜移动创始人沈思专访——从平台到孵化器
  8. 【mssql】SQL Server2012编程入门经典(第四版)(上) 读书笔记
  9. 做一个电商网站需要多少钱
  10. 阿里云 centos安装oracle 11g 完全图解