vscode on FreeBSD それとは別にelectronを約一日半掛けてコンパイルする話

## [vscode](https://www.freshports.org/editors/vscode) が 僕の作業環境から消えました。
![vscode.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/91470/701b7b0d-8b12-4e26-a352-0255f52cb43b.png)

最近[ghostbsd](https://www.ghostbsd.org)には[FreeBSD14.2](https://www.freebsd.org/releases/14.2R/relnotes/) ベースの更新がやってきました。そのためか、Visual Studio Code の依存関係が消滅し消されてしまいました。今日はその問題を解決しようと思います。

## node　の　バージョン問題
* 2025年３月の時点で、FreeBSD-ports の editors/vscode は、node　のVersion 20に依存しています [^1]
[^1]: 正確には devel/electron34 が依存しています
*  FreeBSDで使える最新の node は Version 23　で、コレは衝突すると思われます。

## yarn が入らない問題
* yarn をどこから入れたか？　いろいろトラブルになっています。
```
Installing yarn-node20-1.22.19...
pkg-static: yarn-node20-1.22.19 conflicts with yarn-node22-1.22.19 (installs fil
es into the same place).  Problematic file: /usr/local/bin/yarn
*** Error code 1
```
* pkg システムでは yarn はもはや存在しませんが、何らかの理由で残ってしまいました。

```
# pkg remove yarn-node22
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in
 the universe):

Installed packages to be REMOVED:
        yarn-node22: 1.22.19

Number of packages to be removed: 1

The operation will free 5 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling yarn-node22-1.22.19...
[1/1] Deleting files for yarn-node22-1.22.19:   0%
yarn-node22-1.22.19: missing file /usr/local/bin/yarn
[1/1] Deleting files for yarn-node22-1.22.19:   6%
yarn-node22-1.22.19: missing file /usr/local/bin/yarn.js
[1/1] Deleting files for yarn-node22-1.22.19: 100%
```
* とりあえず electron34 が入るようにします。 node23に対応させるパッチを書くのは今日は無理そうです。

## ｴｴｴｴｴｴﾚｸﾄﾛﾝなんでなんでこんなに時間が・・・
この記事を書いている時点で無事に終了したのですが、[electron34.3.3](https://releases.electronjs.org/release/v34.3.4) をコンパイルを[^1] 金曜日の午前　11時46分 にスタートしました。　その日のうちに終わらないコンパイルなんて何年ぶりかなというトコロで、完成したのはつい先程土曜日の21時37分です。33時間の長い長いコンパイル。 [i5-5300U/16GB のマシン]( https://www.dell.com/support/manuals/ja-jp/latitude-e7250-ultrabook/late7250om/%E4%BB%95%E6%A7%98?guid=guid-bbdc4cbe-778d-4c88-8f36-da101e4d118e&lang=ja-jp) なんて貧弱なマシンにやらせていい仕事？と言われると困るのですが、立派に計算が出来るPCなら何でも使ってやるのが信条なので・・・

![electron34-build.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/91470/481764d2-67d7-4c08-9d7d-80961ba5b9c9.png)
![electron34-build2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/91470/624c439f-5d11-481e-9bfa-49f86f0cf79d.png)


[^1]: コンパイルできたのは 34.3.3 なので、最新版ではない orz
* 何に時間がかかるの？
まあ、ぶっちゃけSSDが小さすぎて性能が出てないのもありますが、i5-5300Uは4コアしかないんですよね。業務用サーバの40コアにやらせたら多分6時間もかからなかったかもしれないのですが、ノートPCは電力消費しないし寒い日にはちょうどよかった...

## VSCode 再度インストール・・・
electronさえあれば、vscode は pkg でさくっと入ります。
もう終わったも同然でした。

![ｖｓcode-comeback.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/91470/bdfc482c-7ce2-4eb1-b358-43ab03e2100c.png)

写り込んでいるのは、これまたコンパイルの必要があった [pgadmin4](https://www.pgadmin.org/) です。 これもpython+nodejs(npm/yarn) が必須のシステム。コレはいずれGhostBSDでクリックひとつで動くように仕上げたい。
とりあえずpyinstallerでしょうか？

## electron 起動
![electron-ss0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/91470/a978d594-135a-46a1-a234-d1e6370e783e.png)

## おしまい
おまけにUbuntu環境はぶっ壊れるは散々な週末ですが、今月やりたいことにMacBookAirのOpenCorePatcherによる最新OS化とかいう課題も残っていまして、どうなるやら。Windows11-Nativeマシンもあるにはあるんですが、開発機材に出来るよう毎日触れる場所にないのでコイツもリモートでメンテナンスできるようにして・・・などなど。
## おまけ
devel/electron34 の pkg って公式には存在していないので、物数寄なFreeBSDデスクトップユーザに使ってもらえるようにgithubにおいておこうかと思いますが、pkg repo したことがなくって、それも調べなくちゃなりません。手を広げすぎ・・・。