かすみん日記

暇なときに何か喋ります

【本日のbrew doctor】Warning: You have unlinked kegs in your Cellar.

本日のbrew doctorのコーナーです。

% brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

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:
  node

とりあえずググったら、自分の記事が出てきました:

geniusium.hatenablog.com

後半なんかキレてるので、できれば読まないでほしいですが、今の状況もこの記事書いたときと同じっぽいです。

Homebrewで管理しているnodeが、別に要らないならアンインストールすればいいだけなので、依存関係を見てみます。

下記コマンドで、nodeを必要とする(インストール済みの)パッケージの一覧を表示します;

% brew uses --installed node
yarn

まあ、上の記事同様、yarnさんですね。yarnさんは誰かに必要とされていますか?

% brew uses --installed yarn

いいえ、yarnさんは誰にも必要とされていません。

上の記事に書いていましたが、どうやら私は、yarnはHomebrewじゃなくてnpmの方で管理することにしたらしいです。

npmの方にyarnがあるか確認してみます;

% npm list -g
/Users/hoge/.nodebrew/node/v18.4.0/lib
├── corepack@0.11.2
├── generator-code@1.6.12
├── npm@8.12.1
└── yo@4.3.0

居ないですね。nodeのバージョン変えてみますか;

% nodebrew list
v12.22.6
v15.9.0
v18.4.0

current: v18.4.0

% nodebrew use v15.9.0 
use v15.9.0

% npm list -g
/Users/hoge/.nodebrew/node/v15.9.0/lib
├── browser-sync@2.26.14
├── npm@7.5.3
└── yarn@1.22.10

あ、居ました。

上の記事では、yarnnpmで管理する宣言をしていましたが、nodeのバージョンはころころ改めそうですし、それでグローバルインストールしておくのはなんかよくないのかなと思ったり。

node.jsプロジェクトに関係なくyarnを使うときがあるなら、Homebrew管理にしておいた方が良いのかな。

でも、そもそもyarn要らないんですけど。何で使ったんだっけ。

というか、上の記事内でbrew uninstall yarnしてるんだが、お前なんで帰ってきたの? 自然発生するの?

結局、対処方法も上の記事と同じですかね。 Homebrew管理のnodeyarnをアンインストールします;

% brew uninstall yarn node
Uninstalling /usr/local/Cellar/yarn/1.22.11... (15 files, 5MB)
Uninstalling /usr/local/Cellar/node/16.10.0... (2,435 files, 48.4MB)

はい、解決()

% brew doctor
Your system is ready to brew.

yarnが必要になったら、直接インスコしようかな。もう使わないことに越したことはないけど。

ちなみに、yarnというのはこれです。 こいつもパッケージ管理するやつなんですよね。

というわけで、以上です。