ブランチ名をタブ補完する

ブランチ名をタブ補完するのが便利そうだったので、設定までの記録です。一日半かかったかも。

homebrewでgitをインストール

brew install git 

homebrewにgitをinstallしようとしたら失敗。調べてみると/opt/homebrewにinstallしなくてはいけないらしい。ここから沼に入り始めた…

一度homebrewを削除してインストールするため、brew bundleを使用して、.Brewfileにbrewに入れたライブラリを書き出して、gitで管理することに。
参照


# .Brewfile作成して書き出す
brew bundle dump --global --force
# 中身確認
cat ~/.Brewfile
# dotfiles作成 
mkdir dotfiles 
cd dotfiles 
git init 
git remote add origin リポジトリのURL 

# gitにコミット 
cp ~/.Brewfile .Brewfile 
git commit -m "Add .Brewfile" 
git push origin main
# homebrewを削除する
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
# /opt/homebrewのディレクトリ作成
 sudo mkdir /opt/homebrew 
chown ${自分自身USER名} /opt/homebrew

# homebrewインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

あとはPATHを通したいので ~/.zshrc に追記

export PATH="/opt/homebrew/bin:$PATH"
# インストールされてるか確認
brew -v
# gitでdotfilesをcloneする

git clone リポジトリのURL 
# パッケージのライブラリのインストールがはじまる
brew bundle --global

# brewにインストールされたか確認
brew list

開発環境に問題ないか確認

./sbt run問題ないし、./init.dbも問題ない。

①flutter runしようとしたら、iOSシミュレーターが起動しない。
Xcode > preference > Locationsをひらく
Command Line toolsにversionを設定すると、起動した。

Error: "The sandbox is not in sync with the Podfile.lock..." after installing RestKit with cocoapodsのエラー

Xcodeでbuildすると上記のエラーがでた。podをinstallしてみる

cd ios
pod install

するとこのようなエラーがでた

Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Analyzing dependencies
[!] The version of CocoaPods used to generate the lockfile (1.11.3) is higher than the version of the current executable (1.11.2). Incompatibility issues may arise.
firebase_analytics: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
firebase_crashlytics: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
firebase_messaging: Using Firebase SDK version '8.15.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly":
In snapshot (Podfile.lock):
Firebase/CoreOnly (= 8.15.0)
In Podfile:firebase_core (from `.symlinks/plugins/firebase_core/ios`) was resolved to 1.17.0, which depends onFirebase/CoreOnly (= 8.15.0)

None of your spec sources contain a spec satisfying the dependencies: `Firebase/CoreOnly (= 8.15.0), Firebase/CoreOnly (= 8.15.0)`.

You have either:

out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.

mistyped the name or version.

not added the source repo that hosts the Podspec to your Podfile.

指示通りpod repo updateする

pod repo update

するとこのようなエラーがでた

Ignoring ffi-1.14.2 because its extensions are not built. Try: gem pristine ffi --version 1.14.2
Updating spec repo `master`
$ /usr/bin/git -C /Users/mac/.cocoapods/repos/master fetch origin --progress
remote: Enumerating objects: 406164, done.
remote: Counting objects: 100% (96614/96614), done.
remote: Compressing objects: 100% (1556/1556), done.
remote: Total 406164 (delta 95054), reused 96497 (delta 94979), pack-reused 309550
Receiving objects: 100% (406164/406164), 57.78 MiB | 8.36 MiB/s, done.
Resolving deltas: 100% (285757/285757), completed with 8750 local objects.
From https://github.com/CocoaPods/Specs
cb556c1d8351..7c60881ca29f  master     -> origin/master
$ /usr/bin/git -C /Users/mac/.cocoapods/repos/master rev-parse --abbrev-ref HEAD
master
$ /usr/bin/git -C /Users/mac/.cocoapods/repos/master reset --hard origin/master
Updating files: 100% (564438/564438), done.
HEAD is now at 7c60881ca29f [Add] TensorFlowLiteSwift 0.0.1-nightly.20220604
Updating spec repo `trunk`
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
### Command

```
/usr/local/bin/pod repo update
```

### Report

などいろいろ
### Error

```
LoadError - dlsym(0x205501540, Init_ffi_c): symbol not found - /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=dlsym%280x205501540%2C+Init_ffi_c%29%3A+symbol+not+found+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.14.2%2Flib%2Fffi_c.bundle&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

こちらを参考にffiをinstall

sudo arch -x86_64 gem install ffi

再度試す

pod repo update

するとまた違うエラーがでた

mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64') in Flutter

こちらを参考に

llvmをインストール

arch -x86_64 /usr/local/homebrew/bin/brew install llvm

するとようやくpod updateできた!!
そして問題なくiOSシミュレーターが起動したのを確認できた。

再度brewにgitをインストールしてみる

arch -arm64 brew install git

インストールできた!

こちらを参考にしてすすめる

今Appleとbrewのどちらのgitを使用してるか確認

git --version 
git version 2.24.3 (Apple Git-128)

変更するため.zshrcに書き込んでPATHを通す

export PATH=/usr/local/bin/git:$PATH

そして設定も追加

# git-promptの読み込み
source ~/.zsh/git-prompt.sh

# git-completionの読み込み
fpath=(~/.zsh $fpath)zstyle ':completion:::git:*' script ~/.zsh/git-completion.bashautoload -Uz compinit && compinit

# プロンプトのオプション表示設定
GIT_PS1_SHOWDIRTYSTATE=trueGIT_PS1_SHOWUNTRACKEDFILES=trueGIT_PS1_SHOWSTASHSTATE=trueGIT_PS1_SHOWUPSTREAM=auto

# プロンプトの表示設定(好きなようにカスタマイズ可)
setopt PROMPT_SUBST ; PS1='%F{green}%n@%m%f: %F{cyan}%~%f %F{pink}$(__git_ps1 "(%s)")%f$ '

ブランチ名をタブ補完できた!!







この記事が気に入ったらサポートをしてみませんか?