uniapp mac m1 arm芯片编译问题

一.先安装nvm,如果已经安装跳过

参考网址:Mac OS 下安装 NVM 「保姆级 教学」 - 知乎 (zhihu.com)

1.1.安装NVM

按照 官网 指引操作运行如下安装:

复制代码
 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash 

如果成功,那恭喜你!!!!

1.2安装

复制代码
#执行下面安装后可以看看版本号
nvm install 20  

#看node版本号
node -v
#看npm版本号
npm -v

1.3如果不成功,出现:

超时,可以多试几次,几次多不行那也不要慌,往下看

方法1:

先获取IP ping http://raw.githubusercontent.com // 例如 192.168.1.1

然后更改 hosts sudo vim /etc/hosts 添加如下 192.168.1.1 http://raw.githubusercontent.com :wq 保存并退出

再次执行安装命令多次(不行多试几次)是可行的。

方法2:

在浏览器中访问 https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh,如果可以访问,下载该文件到本地,如果浏览器中也访问不了,那就想办法找vpn代理浏览器,代理之后访问:https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh 并下载

下载之后再终端中执行该文件:

复制代码
./install.sh 

如果没有权限使用方面的方式:

复制代码
chmod +x install.sh  

再执行:

复制代码
sudo ./install.sh

安装成功后执行 nvm 提示 command not found

首先查看 ~/.bash_profile 文件是否存在,如下内容(通常是安装后会自动生成),如果没有则手动添加:

复制代码
 vim ~/.bash_profile 

添加内容:

复制代码
export NVM_DIR="$HOME/.nvm"
[-s "$NVM_DIR/nvm.sh"] && \."$NVM_DIR/nvm.sh"# This loads nvm 
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion 

:wq 保存退出,执行 nvm 验证。

如果已经存在还是不行,就看下有没有 ~/.zshrc 文件,如果没有就用 vim 创建一个,并在其中插入下面的命令语句:

复制代码
 vim ~/.zshrc

添加内容:

复制代码
 source ~/.bash_profile

:wq 保存退出,推出终端,再次打开并执行 nvm 验证,多数应该成功了。

二.安装yarn

2.1先安装Homebrew

复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2.2安装yarn

复制代码
brew install yarn

#查看是否安装好
yarn --version

三.开始解决问题

参考连接:针对m1 mac 用户优化hbuilder的方法,替换不协调的图标以及更换arm版本node的全过程

3.1备份Hbuilder X,防止操作失败影响搬砖

  • 进入应用程序目录对Hbuilder X 压缩,如操作过程中出现问题,可以删除APP并直接解压

3.2替换图标

3.3修改Hbuilder 内置node 为 本机Arm版本

在终端执行 where node,会输出本地node 所在位置

例如:/Users/xx/.nvm/versions/node/v16.14.2/bin/node,

在终端执行 open /Users/xx/.nvm/versions/node/v16.14.2/bin打开node所在目录,

以及 open /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node,打开Hbuilder内置node目录,

接下去复制本地的node到HBuilderX的node目录中,记住是复制!!不要直接拖动过去

这时候项目是运行不了的,因为Hbuilder内置了node-sass,并不匹配Arm版node,

终端会报错,如下内容,不要根据提示去操作,不会有效果的

复制代码
复制代码[0;31m--> LibSass 的二进制文件(/Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-arm64-93/binding.node)缺失,请执行下面3条命令下载对应版本的二进制文件:(有可能引发此错误的原因是 Node 版本变更)[0m   
14:39:41.361   mkdir -p /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-arm64-93  
14:39:41.363   cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-arm64-93  
14:39:41.365   curl -o binding.node http://cdn.npm.taobao.org/dist/node-sass/v4.7.2/darwin-arm64-93_binding.node

3.4替换node-sass 为 dart-sass

  • 首先 终端执行 cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins,打开plugins目录
  • 执行rm -rf compile-node-sass 删除node-sass目录
  • 执行yarn add sass,
  • 重启编辑器

3.5解决真机调试问题

一直没有看到用到这个功能,所以没发现,看到评论有问题,记录一下解决的过程,有其他问题可以也可以用这个方法

如发现某些功能异常,打开 hbuilder 帮助->查看运行日志,清空日志,重新操作未正常启动的功能。

查看日志,一般都是缺少一些模块的报错,如缺少在出错的插件目录下安装即可

  • 在 /Applications/HBuilderX.app/Contents/HBuilderX/plugins/launcher 目录下安装 执行 yarn add archiver
  • 清空plugins/launcher/tools/adbs 目录,下载arm版本adb拖动进去 或 使用brew安装adb,在hbuilder偏好设置- 运行配置- adb路径中修改 (但在活动监视器中adb进程还是会显示intel,不知为何)
  • 重启编辑器

四.IOS真机测试签名生成

appleDeveloper官网 网站上操作

4.1生成Developement证书

公司已经IOS开发者账号,所以已经生成了Developement证书

在开始之前

创建证书

  • 打开:应用程序 -> 钥匙串访问
  • 在顶部菜单中选择:钥匙串访问 > 证书助理 > 从证书颁发机构请求证书
  • 填写: 电子邮件 名称
  • 选择:储存到磁盘
  • 保存好并记住它的位置
  • 打开并登录 Apple 开发者网站
  • 在页面中点击证书: Certificates, Identifiers & Profiles. -> Certificates
  • 在证书页面的子标题 Certificates 旁点击加号: 新增一个证书

创建 Apple iOS Certificates 证书

  • 选择分发类型并确认
    • 用与正式发布商店选择 App Store and Ad Hoc
    • 用于测试、调试等选择 iOS App Development
    • 你也可以选择全平台证书 Apple Development
  • 选择上传之前从保存到磁盘的 CSR 证书文件并确认
  • 选择右上方的 Download 下载完整证书并保存好
  • 双击打开刚下载的证书文件,并在 钥匙串访问 中找到选择它 (通过名称或邮件地址和时间确认)
  • 右键点击选择 导出...
  • 文件格式选择 .p12 ,保存时会提示设置证书密码,然后要输入电脑密码授权,最后记得保存好
  • 至此,你的分发证书就创建好了。

4.2 生成测试用bundleid

4.3加入测试IOS的设备

蒲公英 | 一步快速获取 iOS 设备的UDID (pgyer.com) 先拿到自己的uuid

然后自定义命名,把设备加到测试设备中,开发签名一定要先保证设备先添加

4.4生成Profiles

1.新增

2.选择类型 这里显示的开发使用

3.选择对应的可用的证书

4.选择哪些测试设备

5.输入自定义的名字,好记好区分即可

6.点击下载到本地

五.配置Uniapp测试签名

首先4.2里生成的BundleID

证书密码是p12( 即4.1里导出的证书,安装到本机,再导出的p12文件)

设备profiles 4.4步骤里完成下载的即可完成

相关推荐
潜龙952742 分钟前
第4.3节 iOS App生成追溯关系
macos·ios·cocoa
浩星9 小时前
uniapp运行鸿蒙报错整理
uni-app
游戏开发爱好者810 小时前
iOS App 电池消耗管理与优化 提升用户体验的完整指南
android·ios·小程序·https·uni-app·iphone·webview
玄辰星君10 小时前
【MAC】nacos 2.5.1容器docker安装
macos·docker·nacos
atwdy15 小时前
MacOS安装linux虚拟机
linux·运维·ubuntu·macos·utm
echola_mendes16 小时前
Dify:在MacOS系统下Dify的本地部署与使用
macos
Tim风声(网络工程师)16 小时前
如何通过mac的前24bit,模糊确认是那一台什么样的设备
运维·服务器·网络·macos
2501_9159184118 小时前
iOS 性能监控工具全解析 选择合适的调试方案提升 App 性能
android·ios·小程序·https·uni-app·iphone·webview
初出茅庐的20 小时前
uniapp - AI 聊天中的md组件
前端·vue.js·uni-app
于慨1 天前
uniapp用webview导入本地网页,ios端打开页面空白问题
uni-app