国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何在 macOS 上同時(shí)使用 Flutter2 和 Flutter3 進(jìn)行 ios 開(kāi)發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了如何在 macOS 上同時(shí)使用 Flutter2 和 Flutter3 進(jìn)行 ios 開(kāi)發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如何在 macOS 上同時(shí)使用 Flutter2 和 Flutter3 進(jìn)行 ios 開(kāi)發(fā)

如何在 macOS 上同時(shí)使用 Flutter2 和 Flutter3 進(jìn)行 ios 開(kāi)發(fā),程序人生

前言

貓哥主打系統(tǒng)環(huán)境是:

  • macos
  • flutter 3.7.12
  • ruby 3.2.2
  • cocoapods 1.12.1
  • xcode 14.3.1

這套配置運(yùn)行最新的項(xiàng)目沒(méi)問(wèn)題,但是最近需要維護(hù) flutter 2.10.5 這種老項(xiàng)目,雖然用了 fvm 進(jìn)行 flutter 版本切換,但是 flutter 2.10.5 用的 ruby 2 ,我當(dāng)前是 ruby 3 所以運(yùn)行 pod install 的時(shí)候就報(bào)錯(cuò)了。

[!]?Invalid?`Podfile`?file:?undefined?method?`exists?'?for?File:Class.

?#
??from?/Users/ducafecat/Documents/project-2021/helber_v2/helber_v2_flutter_210/ios/Podfile:34
?#??-------------------------------------------
?#
?>????flutter_install_all_ios_pods?File.dirname(File.realpath(__FILE__))
?#
?#??-------------------------------------------

這個(gè)錯(cuò)誤很常見(jiàn),因?yàn)?ruby 3 的 api 接口有變化。

今天就來(lái)說(shuō)說(shuō)我是怎么解決的,我是需要靈活切換舊版、新版的 IOS 開(kāi)發(fā)環(huán)境。

原文 https://ducafecat.com/blog/011-flutter-macos-rvm-cocoapods-fvm

參考

https://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/

https://www.moncefbelyamani.com/why-you-should-never-use-sudo-to-install-ruby-gems/

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/install_language_runtime.html

https://blog.driftingruby.com/articles/2023/03/04/ruby-with-yjit.html

https://github.com/rvm/rvm

https://rvm.io/rvm/install

https://brew.sh/

https://cocoapods.org/

rvm 知識(shí)點(diǎn)

RVM(Ruby Version Manager)是一個(gè)用于管理 Ruby 版本的工具,它可以讓您在同一臺(tái)機(jī)器上安裝和使用多個(gè) Ruby 版本,并且可以為每個(gè) Ruby 版本提供獨(dú)立的 gem 環(huán)境。以下是 RVM 的一些優(yōu)點(diǎn):

  1. 多版本管理:使用 RVM,您可以輕松地在同一臺(tái)機(jī)器上安裝和管理多個(gè) Ruby 版本。這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)非常有用,因?yàn)椴煌捻?xiàng)目可能需要不同的 Ruby 版本或 gem 包。

  2. gem 環(huán)境隔離:RVM 可以為每個(gè) Ruby 版本提供獨(dú)立的 gem 環(huán)境,以避免不同版本之間的 gem 包沖突。這意味著您可以在不同的 gem 環(huán)境中安裝和管理 gem 包,而不會(huì)相互干擾。

  3. 簡(jiǎn)單易用:RVM 提供了一組簡(jiǎn)單易用的命令,使您可以輕松地安裝、卸載、切換和管理 Ruby 版本、gem 包和 gemset。

  4. 社區(qū)支持:RVM 是一個(gè)流行的 Ruby 工具,擁有活躍的社區(qū)支持和開(kāi)發(fā)團(tuán)隊(duì),可以及時(shí)解決問(wèn)題和更新版本。

  5. 跨平臺(tái)支持:RVM 支持多種操作系統(tǒng),包括 macOS、Linux 和 Windows,使您可以在不同的平臺(tái)上使用相同的工具和環(huán)境。

思路

我嘗試了些方法,過(guò)程如下:

  • 刪除本機(jī)各種 ruby cocoapods 工具
  • 安裝最新版 ruby 3.2.2
  • 安裝最新版 cocoapods
  • 安裝 rvm ruby 版本切換工具
  • 通過(guò) rvm 安裝 ruby 2.7.8
  • 切換 ruby 2.7.8 安裝 cocoapods
  • 完成后 rvm 可以切換回系統(tǒng) ruby 3.2.2 版本

步驟

注意以下操作竟可能不要用 sudo 執(zhí)行,否則權(quán)限會(huì)亂掉。

第一步:準(zhǔn)備環(huán)境

卸載舊版 ruby 2 和 ruby 版本工具(rvm rbenv asdf frum)

安裝 homebrew

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

brew 升級(jí)到最新

$?brew?update?&&?brew?doctor

檢查自己的系統(tǒng)芯片 arm64 x86_64

$?uname?-m

清理錯(cuò)誤的配置,有些包管理工具會(huì)寫下面的配置文件

~/.zshrc
~/.zprofile
~/.zlogin
~/.bash_profile
~/.profile
~/.bashrc
~/.config/fish/config.fish

主要是 .zshrc .bash_profile .profile

第二步:安裝 ruby 最新版

安裝 ruby 3.2.2

$?brew?install?ruby

配置 ruby 環(huán)境

$?vi?~/.bash_profile

#?ruyb
#?intel?芯片
if?[?-d?"/usr/local/opt/ruby/bin"?];?then
??export?PATH=/usr/local/opt/ruby/bin:$PATH
??export?LDFLAGS="-L/usr/local/opt/ruby/lib"
??export?CPPFLAGS="-I/usr/local/opt/ruby/include"
??export?PATH=`gem?environment?gemdir`/bin:$PATH
fi
#?m1?silicon?芯片
if?[?-d?"/opt/homebrew/opt/ruby/bin"?];?then
??export?PATH=/opt/homebrew/opt/ruby/bin:$PATH
??export?LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
??export?CPPFLAGS="-I/opt/homebrew/opt/ruby/include"
??export?PATH=`gem?environment?gemdir`/bin:$PATH
fi

查看版本

$?ruby?-v
ruby?3.2.2?(2023-03-30?revision?e51014f9c0)?[x86_64-darwin22]

安裝 cocoapods

$?gem?install?cocoapods

第三步:安裝 rvm 版本管理

安裝 rvm

$?curl?-sSL?https://get.rvm.io?|?bash?-s?stable

rvm 查看可安裝版本

$?rvm?list?known

安裝 ruby 2.7.8

$?rvm?install?ruby-2.7.8?--default

rvm 切換版本

$?rvm?use?ruby-2.7.8

安裝 cocoapods

$?gem?install?cocoapods

rvm 會(huì)自動(dòng)管理 gem 不同 ruby 版本的隔離

使用

切換 flutter 2.10.5

fvm 切到 2.10.5

$?fvm?global?2.10.5

rvm 切到 ruby 2.7.8

$?rvm?use?ruby-2.7.8

cocoapods 拉包

$?cd?ios
$?pod?install

切換 flutter 3.7.12

rvm 還原系統(tǒng)

$?rvm?reset

fvm 切到 3.7.12

$?fvm?global?3.7.12

cocoapods 拉包

$?cd?ios
$?pod?install

小結(jié)

大家可以看到現(xiàn)在可以順利的切換 flutter 2&3 的開(kāi)發(fā)環(huán)境了,如果你有和我相同需求的,可以動(dòng)手試試。

感謝閱讀本文

如果我有什么錯(cuò)?請(qǐng)?jiān)谠u(píng)論中讓我知道。我很樂(lè)意改進(jìn)。


? 貓哥 ducafecat.com

end

本文由 mdnice 多平臺(tái)發(fā)布文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-517932.html

到了這里,關(guān)于如何在 macOS 上同時(shí)使用 Flutter2 和 Flutter3 進(jìn)行 ios 開(kāi)發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何在Flutter應(yīng)用中使用 OpenCV和 CC++庫(kù)進(jìn)行圖像流處理

    如何在Flutter應(yīng)用中使用 OpenCV和 CC++庫(kù)進(jìn)行圖像流處理

    本文將幫助你在 Android 和 iOS 中為 Flutter 應(yīng)用程序集成 C/C++ 插件。 問(wèn)題1: Flutter camera 插件沒(méi)有為快速?gòu)?fù)雜的圖像流處理提供完整的指南。 問(wèn)題2: Flutter camera 插件處理圖像流太慢。 問(wèn)題3: 圖像處理需要OpenCV包 問(wèn)題4: 你當(dāng)前的圖像流處理實(shí)現(xiàn)正在阻塞 UI 并導(dǎo)致你的應(yīng)用程

    2024年02月08日
    瀏覽(30)
  • 【Flutter】macOS從零開(kāi)始使用FVM搭建Flutter開(kāi)發(fā)環(huán)境

    【Flutter】macOS從零開(kāi)始使用FVM搭建Flutter開(kāi)發(fā)環(huán)境

    本文為個(gè)人記錄macOS系統(tǒng)使用fvm從零開(kāi)始搭建flutter開(kāi)發(fā)環(huán)境到項(xiàng)目運(yùn)行的過(guò)程,非教程性質(zhì),僅供參考,如有疑問(wèn)或建議,歡迎大家在評(píng)論區(qū)留言 附上開(kāi)發(fā)設(shè)備配置 以vscode為編碼工具 下載地址:Download Visual Studio Code - Mac, Linux, Windows 下載后解壓安裝即可 Xcode 在 iOS 真機(jī)或者

    2024年02月09日
    瀏覽(26)
  • vim 編輯器如何同時(shí)注釋多行以及將多行進(jìn)行空格

    vim 編輯器如何同時(shí)注釋多行以及將多行進(jìn)行空格

    一、場(chǎng)景 YAML文件對(duì)空格的要求非常嚴(yán)格,因此在修改YAML時(shí),我們可能需要批量添加空格。 二、操作步驟 請(qǐng)注意:您的所有操作都將以第一行為基準(zhǔn)。也就是說(shuō),第一行有多少個(gè)空格,下面的行就會(huì)模仿添加相同數(shù)量的空格。 例如: 假設(shè)我們希望123,456,000這幾行都添加兩

    2024年01月19日
    瀏覽(24)
  • 修改Flutter3.19.2SDK的鏡像源為國(guó)內(nèi)鏡像源 解決一直卡在Running Gradle task ‘a(chǎn)ssembleDebug‘與Executfailed for task ‘a(chǎn)pp:x‘

    修改Flutter3.19.2SDK的鏡像源為國(guó)內(nèi)鏡像源 解決一直卡在Running Gradle task ‘a(chǎn)ssembleDebug‘與Executfailed for task ‘a(chǎn)pp:x‘

    該文檔僅為個(gè)人解決記錄 參考自:https://blog.csdn.net/qq_39105508/article/details/133992154 在 flutter3.19.2packagesflutter_toolslibsrc 下的 http_host_validator.dart 文件中,找到 const String kMaven = \\\'https://maven.google.com/\\\'; ,將 Flutter SDK 使用的 maven 鏡像修改為國(guó)內(nèi)鏡像 參考自:https://blog.csdn.net/libra_

    2024年04月17日
    瀏覽(20)
  • 百度云BOS云存儲(chǔ)的圖片如何在訪問(wèn)時(shí),同時(shí)進(jìn)行格式轉(zhuǎn)換、縮放等處理

    百度云BOS云存儲(chǔ)的圖片如何在訪問(wèn)時(shí),同時(shí)進(jìn)行格式轉(zhuǎn)換、縮放等處理

    之前做了一個(gè)圖片格式轉(zhuǎn)換和壓縮的服務(wù),結(jié)果太占內(nèi)存。后來(lái)查到在訪問(wèn)圖片鏈接時(shí),支持進(jìn)行圖片壓縮和格式轉(zhuǎn)換,本來(lái)想著先格式轉(zhuǎn)換、壓縮圖片再上傳到BOS,現(xiàn)在變成了上傳后,訪問(wèn)時(shí)進(jìn)行壓縮和格式轉(zhuǎn)換。想了想,因?yàn)橹饕康氖翘岣哂脩舻膱D片訪問(wèn)速度,所以這

    2024年02月11日
    瀏覽(20)
  • nextjs構(gòu)建服務(wù)端渲染,同時(shí)使用Material UI進(jìn)行項(xiàng)目配置

    nextjs構(gòu)建服務(wù)端渲染,同時(shí)使用Material UI進(jìn)行項(xiàng)目配置

    使用create-next-app來(lái)啟動(dòng)一個(gè)新的Next.js應(yīng)用,它會(huì)自動(dòng)為你設(shè)置好一切 運(yùn)行命令: 執(zhí)行結(jié)果如下:? ?啟動(dòng)項(xiàng)目: 執(zhí)行結(jié)果:? 啟動(dòng)成功!? 根據(jù)Material UI官網(wǎng)介紹,截至2021年底,樣式組件與服務(wù)器渲染的材質(zhì)UI項(xiàng)目不兼容。這是因?yàn)閎abel-plugin風(fēng)格的組件不能與@mui包中的style

    2024年02月08日
    瀏覽(29)
  • MacOS使用USB接口與IPhone進(jìn)行Socket通信

    MacOS使用USB接口與IPhone進(jìn)行Socket通信

    演示效果如下:? ?開(kāi)源地址:?GitHub - rsms/peertalk: iOS and Mac Cocoa library for communicating over USB ? 克隆源碼: 克隆后打開(kāi)peertalk然后啟動(dòng)xcode工程 ?先啟動(dòng)MacOS服務(wù)端工程,再啟動(dòng)iOS客戶端工程 ? ?客戶端 服務(wù)端?? ? ? ? ?

    2024年02月17日
    瀏覽(20)
  • 使用 Mockito 對(duì) Flutter 代碼進(jìn)行單元測(cè)試

    單元測(cè)試驗(yàn)證單個(gè)方法或類是否按預(yù)期工作。它還通過(guò)在進(jìn)行新更改時(shí)確認(rèn)現(xiàn)有邏輯是否仍然有效來(lái)提高可維護(hù)性。 通常,單元測(cè)試很容易編寫,但可以在測(cè)試環(huán)境中運(yùn)行。400默認(rèn)情況下,這會(huì)在進(jìn)行網(wǎng)絡(luò)調(diào)用或 HTTP 請(qǐng)求時(shí)產(chǎn)生帶有狀態(tài)代碼的空響應(yīng)。為了解決這個(gè)問(wèn)題,我

    2024年02月08日
    瀏覽(20)
  • flutter dio使用proxyman抓包進(jìn)行網(wǎng)絡(luò)調(diào)試

    flutter dio使用proxyman抓包進(jìn)行網(wǎng)絡(luò)調(diào)試

    證書 wifi 手機(jī)和電腦連上同一個(gè)wifi,并且手機(jī)wifi使用代理,代理地址為電腦的ip和proxyman設(shè)置的監(jiān)聽(tīng)端口 代碼 使用方式 proxyIP 為電腦ip

    2024年02月03日
    瀏覽(19)
  • 【flutter】同時(shí)實(shí)現(xiàn)Container內(nèi)陰影與外陰影

    【flutter】同時(shí)實(shí)現(xiàn)Container內(nèi)陰影與外陰影

    效果圖: 思路: 1. 首先把背景用陰影色填充。 2. 然后實(shí)現(xiàn)外陰影。 ? 3. 關(guān)鍵步驟,疊加一層原來(lái)背景色的陰影 由于疊加的陰影有向右下方的偏移,露出的背景構(gòu)成了內(nèi)陰影。 這里的模糊半徑使得內(nèi)陰影附帶了模糊,但外陰影的輪廓也模糊了(下面解決)。 最后加入裁切,

    2024年02月15日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包