【macOS】gnubin への PATH を一括で通す

【macOS】GNU パッケージの PATH
GNU gsed をインストールした後の表示。


GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

     PATH="$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$PATH"

👉 gnu-sed — Homebrew Formulae hatena-bookmark

sed のように利用するには PATH を優先しておく、とのことだが。

GNU パッケージは、「パッケージごとに」シンボリックシンクが分かれている。


Commands also provided by macOS and the commands dir, dircolors, vdir have been installed with the prefix "g".
If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH with:
    PATH="$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"

👉 coreutils — Homebrew Formulae hatena-bookmark

自分のマシンで見てみる。


❯ ls -l $(brew --prefix)/opt/*/libexec/gnubin
/opt/homebrew/opt/gnu-sed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/gsed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/libtool/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  18 Mar 17  2022 libtool@ -> ../../bin/glibtool
lrwxr-xr-x@ 1 mao  admin  21 Mar 17  2022 libtoolize@ -> ../../bin/glibtoolize

そうか、インストール時に作ってくれてるんだシンボリックリンク。

sed@ が2個あるけど実体は同じでした。


❯ ls -al /opt/homebrew/opt/gnu-sed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gnu-sed@ -> ../Cellar/gnu-sed/4.9

❯ ls -al /opt/homebrew/opt/gsed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gsed@ -> ../Cellar/gnu-sed/4.9

よって、以下のようにして GNU パッケージの PATH を一括で通すと良い、とな。


if type brew &>/dev/null; then
  HOMEBREW_PREFIX=$(brew --prefix)

  # gnubin; gnuman
  for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnubin; do export PATH=$d:$PATH; done

  # I actually like that man grep gives the BSD grep man page
  #for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnuman; do export MANPATH=$d:$MANPATH; done
fi

👉 macos - Homebrew: Easy way to add 'gnubin' to path for multiple packages? - Ask Different hatena-bookmark

他パッケージのインストーラーがこけたりするときないのか、と思ったので眺めておきました。


【Mac Book Pro】HDMI L型コネクタでスッキリ

これいいですよ。

エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK

狭い机で無理してると端子がぐらついてやばそうだったので。

エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK

最適なのは写真のように「右型」です。



エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK


Material3 へのアップグレードで PullRefresh (SwipeRefresh) ができない件

👉 [Feature Request] PullRefreshIndicator for Material 3 [261760718] - Visible to Public - Issue Tracker hatena-bookmark

2023 年 1 月 17 日 05:01AM

accompanist/swiperefresh が非推奨になったので、M3 に実際の代替機能がないのは迷惑です。

2023年2月11日午後12時07分

こんにちは、機能リクエストありがとうございます! 返信が遅くなり申し訳ございません。現時点では、私たちの主な焦点は、PullRefreshIndicator が含まれていないマテリアル 3 デザイン仕様の内容を構築することです。これを完了した後 (今年中頃を目指しています)、データを調べて M2 PullRefresh の使用方法を学び、M3 ライブラリでのビルドの優先順位を評価します。

2023 年 3 月 21 日 12:34AM

私たちと同じように、これが人々の M2 から M3 への完全な移行を妨げる最後の問題になると思います。

2023 年 5 月 5 日 03:25AM

最新のアップデートはこちら:

M2 の pullrefresh には設計上の重大な問題がいくつかあり、このコンポーネントの M3 実装を提供することを最終的に決定する前に、この問題に対処したいと考えています。この M2 の作業が優先されると、M3 の実装に関するより具体的なタイムラインを提供できるようになります。

2023 年 8 月 8 日 09:38AM

こんにちは、いつ発売されるかについての情報はありますか?

そして現時点では、プルを使用して機能を更新するにはどうすればよいでしょうか?

2023 年 8 月 16 日 03:06AM

PullRefresh は、M2 からの既知の移行ギャップであり、現在開発中です。そのタイムラインについてはまだ正確な見積もりがありませんが、この動作のさまざまなコンポーネントが実装されるにつれて、このバグは更新されるでしょう。

現在、M3 で PullRefresh を使用する最良の方法は、その間に M2 ロジックをフォークすることです。

2023 年 8 月 22 日 09:54AM

この問題がこんなに長く続いていることに本当に驚いています。おそらく M3 はまだ準備ができていないので、アップグレードすべきではありません。

2023 年 8 月 28 日 12:17AM

Material3 にアップグレードしたかったのですが、これによってブロックされました。

2023年9月1日 08:22PM

これは私たちにとっても M3 へのアップグレードを妨げる問題です。

2023年9月23日 02:21AM

[マテリアル3][PullRefresh] PullRefreshIndicatorをM3に更新

* APIはPullRefreshState に依存しないように更新されました
* TonalElevation の動作は M3 に移植されていません
* PullRefreshIndicatorTransformation ロジックはここに移動されました
* 注: PullRefreshIndicator と PullRefreshIndicatorDefaults は、PullRefresh 動作の導入とともにパブリックとしてマークされます。

ということでもう少しかかりそうです。

とりあえず、これ、使ってみますか。

Material3 へのアップグレードで PullRefresh (SwipeRefresh) ができない件

👉 Omico/androidx-compose-material3-pullrefresh: A temporary solution for Jetpack Compose Material 3 pull refresh. hatena-bookmark