nazo6 noteblog

Synology NASへのHomebrew(linuxbrew)を使ったNeovimのインストール

作成:2023/11/27

更新:2023/11/27

この記事は、Zennにも投稿しています。

概要

Synology NASにいろんなツールをインストールしたいとき(まあ本当はしないほうがいいんですが)、Entwareと呼ばれるツールを使うのが一般的だと思われます。
しかしながら、Entwareはリポジトリが小さく古めなため他に使えるパッケージマネージャがないかと調べていたところ、Homebrewをインストールできるという情報を見かけて試してみました。
このbrewを使ってneovim nightlyをSynology NASにインストールしたいと思います。

Homebrewのインストール

まあ↓の記事にある通りなのですがやっていきます。

Synology Community

Hi! Come and join us at Synology Community. A place to answer all your Synology questions. Ask a question or start a discussion now.

community.synology.com

1. lddコマンドの作成

homebrewインストール時にldd --versionを実行するみたいですがsynology nasには這ってないので無理やり作ります。
/usr/bin/ldd
#!/bin/bash
[[ $(/usr/lib/libc.so.6) =~ version\ ([0-9]\.[0-9]+) ]] && echo "ldd ${BASH_REMATCH[1]}"

2. /homeへのホームディレクトリのマウント

どうやらbrewは/homeに各ユーザのホームディレクトリがあることを想定しているみたいですがsynologyでは/var/services/homesにあるので色々うまくいかないみたいです。なので/homeにマウントします。
sudo mkdir /home
sudo mount -o bind "/volume1/homes" /home
恐らくmountコマンドはタスクスケジューラでブート時に実行させてあげる必要があります。

3. brewのインストール

Homebrew公式サイトに書いてある通りコマンドを実行します。成功すれば/home/linuxbrew/.linuxbrew/binbrewコマンドがあるはずです。

4. パスを通す

/etc/profileにPATHを追記しました。
/etc/profile
PATH=$PATH:/home/linuxbrew/.linuxbrew/bin

Neovimをインストール

本当はhomebrewでneovimのheadをインストールしたいと思っていたのですがビルドがコケまくるので諦めました。
代わりにbobというneovimのバージョンマネージャをbrewでインストールすることにしました。
brewでインストールしようとしていた記録の断片

1. gccのインストール

neovimのコンパイルにはgccが必要なのでインストールします。
brew install gcc

2. gccのsymlinkを作成

3. 依存関係のインストール

次のコマンドでneovimがインストールできます。
brew install bob
bob install nightly
bob use nightly
インストールしたら、~/.local/share/bob/nvim-binにPATHを通す必要があります。