Flutterアプリつくってます。
アプリのテストは、TestFlight というのもありますが、普段テスターとして deploygate を使っているので、自分のプロジェクトでもこちらを導入してみることにしました。
そして前回の記事に続き、サクッと入らなかったので、覚書で残しておく。結果だけ知りたい人は目次からまとめに飛んでください。
-
前回の記事文字入りPNGをサクッと作る ImageMagick がサクッとM1に入らなかった話
🍄 % brew install imagemagick Error: Cannot install under Rosetta 2 in ARM default prefix (/o ...
続きを見る
deploygateのインストール
前提
deploygateを使うには以下を済ましておきます。
- xcodeのコマンドラインツールをインストールしておく
- ライセンスに同意しておく
- (追記)Ruby2.6.9 インストール
$ xcode-select --install
$ sudo xcodebuild -license accept
digコマンドのインストール
🌼 % dg --version
zsh: command not found: dg
dg コマンド、入ってないですね。
https://deploygate.com/cli 公式サイトのインストールコマンドを実行します。
何やらfetchとinstallが大量におこなわれますが、よく見るとエラーがでています。
🍄 % curl -sSL https://deploygate.com/cli/install | bash
Welcome to DeployGate!
_ _ _
| | | | | |
__| | ___ ___ | | ___ _ ,____ ___ | |_ ___
/ _` |/ _ \' _ \| |/ _ \ \ / / _ \ / _ `| __/ _ \
| (_| | __/ |_) | | (_) \ v / (_| | (_| | |_' __/
\___, \___| .__/|_|\___/ ` / \__, |\__,_|\__\___`
|_| /_/ |___/
:
:
ERROR: Error installing deploygate:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/unf_ext-0.0.8/ext/unf_ext
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20220127-16548-44pb41.rb extconf.rb
checking for -lstdc++... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
:
:
/Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/unf_ext-0.0.8/mkmf.log
extconf failed, exit code 1
ログ /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-20/2.6.0/unf_ext-0.0.8/mkmf.log をみるとエラーでてる。
fatal error: 'ruby/config.h' file not found
Rubyをいれんかい、という雰囲気なので、brewでRubyのバージョン管理ツールを入れる。
M1なので arch -arm64 をつけるのよ。
🍄 % arch -arm64 brew install rbenv ruby-build
rbenv で初期化する。
🌼 % rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init - zsh)"
ターミナル起動時に rbenv が自動で読み込まれる設定をしてね、といっているので仰せのままにします。
🍄 % vim ~/.zshrc
# ターミナル起動時に rbenv を読み込む
eval "$(rbenv init - zsh)"
詳しくは 公式のとこ に。
最新バージョンを確認する。
🌼 % rbenv install --list
2.6.9
2.7.5
3.0.3
3.1.0
jruby-9.3.3.0
mruby-3.0.0
rbx-5.0
truffleruby-22.0.0.2
truffleruby+graalvm-22.0.0.2
3.1.0 でいいのかな?これをインストールします。
🌼 % rbenv install 3.1.0
:
Installing ruby-3.1.0...
ruby-build: using readline from homebrew
BUILD FAILED (macOS 11.6 using ruby-build 20220125)
Inspect or clean up the working tree at /var/folders/3w/5c6wl2t57j5bykr2gzdp4g4m0000gn/T/ruby-build.20220127122622.34584.J2QZtx
Results logged to /var/folders/3w/5c6wl2t57j5bykr2gzdp4g4m0000gn/T/ruby-build.20220127122622.34584.log
またエラー🥺
ログをみる。 /var/folders/3w/5c6wl2t57j5bykr2gzdp4g4m0000gn/T/ruby-build.20220127122622.34584.log でエラー箇所を探す⛏
readline.c:1903:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
rl_username_completion_function);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rl_username_completion_function
readline.c:79:42: note: expanded from macro 'rl_username_completion_function'
# define rl_username_completion_function username_completion_function
^
/opt/homebrew/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared here
extern char *rl_username_completion_function PARAMS((const char *, int));
^
compiling stringio.c
1 error generated.
ここをみると、M1 で rbenv 使おうとしてみんな苦しめられているワイ。arch -arm64 をつけて仕切り直し。
🌼 % arch -arm64 rbenv install 3.1.0
Downloading openssl-1.1.1l.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1
Installing openssl-1.1.1l...
Installed openssl-1.1.1l to /Users/hoge/.rbenv/versions/3.1.0
Downloading ruby-3.1.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz
Installing ruby-3.1.0...
ruby-build: using readline from homebrew
Installed ruby-3.1.0 to /Users/hoge/.rbenv/versions/3.1.0
入ったよ!先が長い。
仕切り直しまして、dgのインストール。
🌼 % curl -sSL https://deploygate.com/cli/install | bash
:
Building native extensions. This could take a while...
ERROR: Error installing deploygate:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/unf_ext-0.0.8/ext/unf_ext
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20220127-25087-1v9dfpn.rb extconf.rb
checking for -lstdc++... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
:
ぐはー。まだだめ。さっきとメッセージ違うけど、ログを見る。
lude/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
^~~~~~~~~~~~~~~
fatal error: 'ruby/config.h' file not found
まだこれがでている。検討違ったかな。
バージョンを確認すると、3.1.0 が有効になっていない? global オプションを付けて切り替え。
🍄 % rbenv versions
* system
3.1.0
🌼 % rbenv global 3.1.0
🌼 % rbenv versions
system
* 3.1.0 (set by /Users/hoge/.rbenv/version)
むりーーーー
と思ったところで、ふと、ターミナル再起動したら?と脳内に誰かがささやく。
新しいターミナルを起動して、もっかいトライ。
🌼 % curl -sSL https://deploygate.com/cli/install | bash
Welcome to DeployGate!
:
uccessfully installed commander-4.4.6
dg installed! To get started fast:
$ dg deploy
Successfully installed deploygate-0.6.1
76 gems installed
わーーー。入ったよ!
dg コマンドが動かない
🌼 % dg --version
<internal:/Users/hoge/.rbenv/versions/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- webrick (LoadError)
from <internal:/Users/hoge/.rbenv/versions/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
:
webrick というのがないらしい。
webrickをインストールする
bundle add を使って webrick を入れます。
🍄 % bundle add webrick
Could not locate Gemfile
ぐはーーー(2回目)
Gemfileというのがないみたい。このファイルがあるところで、 bundle add webrick すると良いらしい。
探す。
🍄 % find /Users/hoge -name Gemfile
めっっちゃでてくる Gemfile !
deploygateで使われているところを探して、もう一度実行する。
🌼 % cd /Users/hoge/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/deploygate-0.6.1/
🌼 % bundle add webrick
rbenv: version `2.2.0' is not installed (set by /Users/wagtail/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/deploygate-0.6.1/.ruby-version)
2.2.0 が必要らしいけど、rbenv install --list するとそのバージョンがない。2.6.9 を入れてみる
🍄 % arch -arm64 rbenv install 2.6.9
🌼 % rbenv versions
system
2.6.9
* 3.1.0 (set by /Users/wagtail/.rbenv/version)
🌼 % rbenv global 2.6.9
18:16:33 mst.local [~]
🌼 % rbenv versions
system
* 2.6.9 (set by /Users/wagtail/.rbenv/version)
3.1.0
dgコマンドを実行すると、3.1.0のバージョンしかないと言われるので
🍄 % dg --version
rbenv: dg: command not found
The `dg' command exists in these Ruby versions:
3.1.0
シェルを再起動して、インストールしなおす。(3.1.0版のdgコマンドはどうやってアンインストールするのかな。フォルダごと削除?🤔 )
🌼 % curl -sSL https://deploygate.com/cli/install | bash
🌼 % dg --version
dg 0.8.4
できたーーーー
まとめ
疲れた!一日かかったよ!
一連の流れ
- xcodeのコマンドラインツールが入っていること
- xcode-select --install
- sudo xcodebuild -license accept
- 2.6.9のRubyがインストールされていること(2.6.9と3.1.0以外はためしてない)
- arch -arm64 brew install rbenv ruby-build でRubyのバージョン管理ツール入れる
- rbenv init して、~/.zsh に eval "$(rbenv init - zsh)" を追加する
- rbenv install --list でインストール可能なバージョンを確認する
- arch -arm64 rbenv install 2.6.9 を実行。最新バージョンだと動かないよー
- rbenv global 2.6.9 でシステム全体でこのバージョンを使うようにする
- ターミナルを再起動する
- dgコマンドをインストールする
- curl -sSL https://deploygate.com/cli/install | bash を実行する
- dg --version ができればOK