古いMacにXcodeをインストールする方法とHomebrewでのアップデート
以前のXcodeを入手する
以前書いた記事で、古いMacに、新しいApache/PHP/MySQLなどが入らない(by Homebrew)と書いた。
関連:10年落ちのMacBook Air(13-inch, Mid 2011)
以下のエラーが出る。
Error: Your Xcode (8.1) is too outdated.
Please update to Xcode 10.1 (or delete it).
Xcode can be updated from the App Store.
Xcode 8.1が古いので、Xcode 10.1を入れよということだが、AppStoreでは既に公開されていない。
AppStoreにはXcodeがあるが、入れようとすると、
購入処理を完了できませんでした
Xcodeはインストールできません。
macOSのバージョン11.3以降が必要です。
となって入れられない、このヴァクァ詐加減!
以下にログインすれば、古いバージョンも手に入る模様。
関連:https://developer.apple.com/download/more/
対応するバージョンは以下の通り。
・High Sierra(10.13):9.3-10.1
・Sierra(10.12):8.3-9.2
・El Capitan(10.11):7.3-8.2
・Yosemite(10.10):6.3-7.2
だが、Xcodeの容量がデカ杉で、ダウンロードにもインストールにも時間がかかる。
Homebrewでナニするためだけにそンなもンを入れるンは、時価総額世界一のアッチ系♪の社長やソヌォ手下シかゐナゐ。
Xcodeを全部入れる必要はなく、その中のxcode-select(Xcode Command Line Tools)が入っていればよいらしい(後述)。
コマンドでの確認と作業(失敗)
以下を打つと、xcode-selectの有無とバージョンが分かる。
xcode-select -v
結果、
xcode-select version 2349.
入ッてる(滅)。
このxcode-selectのバージョンが古いということだろう。
xcode-selectのインストールを試す。
xcode-select –install
当然、
xcode-select: error: command line tools are already installed, use “Software Update" to install updates
と表示されるが、アップデートはないの?
一旦削除
sudo rm -rf /Library/Developer/CommandLineTools
指定箇所のファイルは消えているが、この時点で
xcode-select -v
だと
xcode-select version 2349.
で消えてないので、Mac再起動。
sudo reboot
で再起動後
xcode-select -v
だと
xcode-select version 2349.
無いのにバージョンを表示するとは?
終~了~(鬱村Produce)
インストール
xcode-select –install
すると
xcode-select: error: no developer tools were found, and no install could be requested (perhaps no UI is present), please install manually from 'developer.apple.com’.
終~了~(鬱村Produce)
Command Line Tools (macOS 10.13) for Xcode 10.1
上述のように、以下から入手する。
関連:https://developer.apple.com/download/more/
検索窓で「xcode」とすると大量発生で悲惨なので、「Xcode 10.1」などで絞る。
ソレでも大量発生だが、以下を発見。
①Xcode 10.1
②Command Line Tools (macOS 10.13) for Xcode 10.1
③Command Line Tools (macOS 10.14) for Xcode 10.1
①は該当だが、5.63GBと意味不明なのでスルー。
当方のMacBook Air(13-inch, Mid 2011)はHigh Sierra(10.13.6)までなンで、③は駄目(Mojave用)。
よって②(186.77MB)となる。
「Command Line Tools (macOS 10.13) for Xcode 10.1」をダウンロードし、インストールする。
インストール後、/Library/Developer/CommandLineToolsを見ると、ファイルが生成されている。
この時点で
xcode-select -v
だと
xcode-select version 2349.
と、変わっていない。
sudo reboot
で再起動後
xcode-select -v
するも
xcode-select version 2349.
と、変わっていない。
結果、
Error: Your Xcode (8.1) is too outdated.
Please update to Xcode 10.1 (or delete it).
Xcode can be updated from the App Store.
で意味ナシwwwww
Xcode 10.1
仕方がないので、5.63GBをダウンロード。
フォデ、Xcode 10.1.xipを展開すると、真冬にもカカワラヅ、ファンが全回転wwwww
にもカカワラヅ、進捗が進行しないwwwwwwwwww
延々と待って、インストール。
インストールも遅杉wwwww
確かにXcode 10.1が入った。
インストール後、
xcode-select -v
するも
xcode-select version 2349.
と、変わっていない。
xcodebuild -version
↓
xcode-select: error: tool 'xcodebuild’ requires Xcode, but active developer directory '/Library/Developer/CommandLineTools’ is a command line tools instance
エラー(意味不明)
httpd
brew install httpd
makeとかするンでファン全回転、延々と待つ。
brew services restart httpd
apachectl -v
↓
Server version: Apache/2.4.33 (Unix)
brew upgrade httpd
↓
httpd 2.4.52 already installed
新しくなった模様
バージョン確認
brew info httpd
httpd: stable 2.4.52
Apache HTTP server
https://httpd.apache.org/
/usr/local/Cellar/httpd/2.4.52 (1,630 files, 27.6MB) *
URLの上にあるのは最新安定版。
URLの下にパスがあるので、インストールされている(+バージョン)ことが分かる。
インストールされていないと「Not installed」となる。
Mac版とHomebrew版のApacheが衝突しないように、以下でアレする。
関連:[Mac] Apacheを自動起動及び停止する方法 [launchd]
php
brew upgrade php
↓
メティアクティア時間がカカル!
↓
php -v
↓
PHP 8.1.2 (cli) (built: Jan 31 2022 14:58:23) (NTS)
↓
brew info php
↓
php: stable 8.1.2, HEAD
General-purpose scripting language
https://www.php.net/
/usr/local/Cellar/php/7.4.5 (515 files, 76.2MB)
Built from source
/usr/local/Cellar/php/8.1.2 (507 files, 80MB) *
だが、/usr/local/etc/httpd/httpd.confで
LoadModule php7_module /usr/local/Cellar/php/8.1.2/lib/httpd/modules/libphp.so
だと起動失敗する。
Can’t locate API module structure `php7_module’ in file /usr/local/Cellar/php/8.1.2/lib/httpd/modules/libphp.so: dlsym(0x7fc0365024c0, php7_module): symbol not found
以下で成功。
LoadModule php_module /usr/local/Cellar/php/8.1.2/lib/httpd/modules/libphp.so
7.4.5は以下で失敗。
LoadModule php7_module /usr/local/Cellar/php/7.4.5/lib/httpd/modules/libphp7.so
Cannot load /usr/local/Cellar/php/7.4.5/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/Cellar/php/7.4.5/lib/httpd/modules/libphp7.so, 10): Library not loaded: /usr/local/opt/tidy-html5/lib/libtidy.5.dylib\n Referenced from: /usr/local/Cellar/php/7.4.5/lib/httpd/modules/libphp7.so\n Reason: image not found
以下にするとMac版の7.1.33になる。
LoadModule php7_module /usr/libexec/apache2/libphp7.so
だが、PHP8.1.2だと、phpmyadminがグティアグティアになって動かンく/管区なッた。
phpMyAdmin-5.1.2-all-languagesを手動で入れて解決。
mysql
brew upgrade mysql
↓
brew info mysql
mysql: stable 8.0.28
Open source relational database management system
https://dev.mysql.com/doc/refman/8.0/en/
Conflicts with:
mariadb (because mysql, mariadb, and percona install the same binaries)
percona-server (because mysql, mariadb, and percona install the same binaries)
/usr/local/Cellar/mysql/8.0.19 (286 files, 291.2MB)
一旦アンインストールし、
brew uninstall mysql
再度インストール
brew install mysql
エラー大量でグティアグティアになるンで、
brew search mysql
で調べ、バージョン指定でインストール
brew install mysql@5.7
↑
https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.37.tar.gz
バージョンを指定しないと8.X系が入る模様。
https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-8.0.28.tar.gz
・v5.6:2013年2月5日
・v5.7:2015年10月21日
・v8.0:2018年4月19日
パスを通す。
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.profile
Macを再起動
sudo reboot
MySQLを起動。
mysql.server start
ERROR! The server quit without updating PID file (/usr/local/var/mysql/●.local.pid).
確かにないが意味不明!
以下を参考に、mysqlを全て削除(brew uninstall mysqlでは消えないものも消す)。
rm -rf /usr/local/mysql
rm -rf /Library/StartupItems/MYSQL
rm -rf /Library/PreferencePanes/MySQL.prefPane
rm -rf /Library/Receipts/mysql-.pkg
rm -rf /usr/local/Cellar/mysql*
rm -rf /usr/local/bin/mysql*
rm -rf /usr/local/var/mysql*
rm -rf /usr/local/etc/my.cnf
rm -rf /usr/local/share/mysql*
rm -rf /usr/local/opt/mysql
データがなくなるので注意!
関連:ERROR! The server quit without updating PID file (/usr/local/var/mysql/mba.pid).の解決策
関連:The server quit without updating PID file mysqlエラー解決
brew install mysql@5.7
MySQLを起動。
mysql.server start
SUCCESS!
mysql_secure_installation
rootのパスワードの設定などを行う。
phpmyadmin
brew upgrade phpmyadmin
↓
brew info phpmyadmin
phpmyadmin: stable 5.1.2
Web interface for MySQL and MariaDB
https://www.phpmyadmin.net
/usr/local/Cellar/phpmyadmin/5.1.2 (3,147 files, 42MB) *
phpMyAdminは手動で入れたので、
brew uninstall phpmyadmin
で削除。
以下を手動で消す。
If desired, remove them manually with `rm -rf`:
/usr/local/etc/phpmyadmin.config.inc.php
/usr/local/etc/phpmyadmin.config.inc.php.default
Macの再起動
sudo reboot
phpMyAdminにアクセスするが、「MySQLサーバにログインできません」となるので、MySQLが起動していない。
自動起動を有効化
brew services start mysql@5.7
だが
Failure while executing; `/bin/launchctl enable gui/501/homebrew.mxcl.mysql@5.7`
エラー
「brew services start mysql」でも「Formula `mysql` is not installed.」でダメ。
自動起動設定不可のクヅォ仕様なので、毎回mysql.server startを打つシカナイ/鹿内/養子/日枝。
関連:Error: Failure while executing; /bin/launchctl enable gui/501/homebrew.mxcl.mysql exited with 112.
sudo launchctl load -w /usr/local/Cellar/httpd/2.4.52/homebrew.mxcl.httpd.plist
でも自動起動しない。
関連:[Mac] Apacheを自動起動及び停止する方法 [launchd]
-----
brew uninstall mysql@5.7
sudo rm -rf /usr/local/var/mysql
(上述の他の削除系も実行)
brew install mysql@5.7
brew services start mysql@5.7 ←エラー
mysql_secure_installation
/usr/local/etc/my.cnfの[mysqld]節に以下を追記。
character-set-server = utf8
default_password_lifetime = 0
↑パスワードの有効期限の無効化
mysql.server start
phpMyAdminにrootでログインできたら、Apache、PHP、mysqlが正常に動いているというコトだ。
-----
自動起動を有効化
brew services start mysql@5.7
自動起動を無効化
brew services stop mysql@5.7
自動起動を有効化しているサービスの一覧
brew services list
-----
単体でヤッても時間が掛かるノヌィ、brew upgrade(brew管理下の全てをアップデート)
なンヅォヤッたら、終わるコルォには支那の支配下にナッテルダロ~wwwwwwwwww
Homebrew
Homebrewの有無とバージョン。
brew -v
結果
Homebrew 3.3.12→3.3.13
新しくなった模様
brew doctor
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on those kegs to fail to run properly once built. Run `brew link` on these:
python
phpmyadmin
mysql
Warning: You are using macOS 10.13.
We (and Apple) do not provide support for this old version.
Warning: Broken symlinks were found. Remove them with `brew cleanup`:
/usr/local/share/man/man1/brew-cask.1
/usr/local/share/zsh/site-functions/_brew_cask
unlinked kegs は「brew link mysql」で解決。
mysql.server start
でcommand not foundとなる場合は、これが原因。
brew cleanupを実行すると色々消されてユクが、以下はエラー。
Error: Could not cleanup old kegs! Fix your permissions on:
/usr/local/Cellar/php/7.4.5
sudo chmod -R 777 7.4.5
としてからbrew cleanupで消えた。
-----
・Apache:2.4.43→2.4.52(アップ)
・PHP:7.4.5_2→8.1.2(アップ) or 7.1.33(ダウン)
・mysql:8.0.19 → 5.7.37(ダウン)
・phpmyadmin:5.0.2 → 5.1.2(アップ)
相互作用シてるンで、何かを上げると他が動かンく/管区なったり、悲惨杉流状況に!
PHP以外はバージョンアップしても大差ナゐンで、上げるならPHPダケにした方が賢明。
-----
てコトで、Command Line Toolsだけではダメで、フルのXcodeが必要だった。
ムァ、こンなンは環境のハナシであり、何時間ヤッても新しいコンテンツは生まれヅ、長時間ヤッても創造的なナニカは何ら出ヅ、気付ゐたら麻生太郎のようなロ~ディンになッてるという悲惨杉流罠wwwwwwwwww
関連:MacのPHPをv7.4.5にアップデートしたらソコからゴツ面倒なコトになッた
関連:Macでサーバー(Apache,PHP,MySQL,phpMyAdmin,WordPress)を作る
関連:[Mac] PHPのバージョンが異なる問題と解決方法 [HighSierra]
関連:[Mac] Apacheを自動起動及び停止する方法 [launchd]