なんでpnpmの絶対パスでdaemonに書いてるのにバージョンが違うって言ってくるんや

@cryo /usr/bin/pnpm 以外の場所にも異なるバージョンの pnpm が置かれていたりしませんか?(which -a pnpm とか実行すると出てきそう)

@yufushiro 置かれてます。
/home/misskey/.local/share/pnpm/pnpm で新しい方が叩けて、
/usr/bin/pnpm だと古い方のpnpmが動きます🤔

なのでdaemonの設定ファイルのExecStartを
/usr/bin/npm
から
/home/misskey/.local/share/pnpm/pnpmに書き換えはしたんですが、絶対に古いpnpmが動いてしまいます

@cryo NodeJSは Debian or Ubuntu のパッケージでインストールしている状態でしょうか?

@yufushiro Fedoraですが、パッケージでインストールした状態ですね

@cryo なるほど、ちょっとそれっぽい環境作ってどういう状況になっているのか調べてみます(多分 /usr/bin/pnpm はただのシェルスクリプトで実体は別の場所にある)

@cryo daemon-reload した後に systemctl show misskey.service を実行すると ExecStart は編集後の値に変わっていますか?

@yufushiro 動きました!
pnpmがコマンド内のメッセージで言ってきた方法じゃなくてdnfでpnpmをアップデートしておけばこんなことにはならなかったのかしら(なおMisskeyの要求があまりにも最新すぎてもちろんパッケージでは降ってこない)

@cryo よっしゃ💪💪

Misskey のインストール手順を見た感じでは pnpm は自分でインストールするのではなく corepack 側で管理させているようなので、直すとしたら一旦 pnpm を消して corepack を有効化するのがよさそう(そうすると package.json に書かれたバージョンの pnpm が使われるようになる)
misskey-hub.net/ja/docs/for-ad

フォロー

@yufushiro
『corepackを入れるのpnpmのためだけで謎すぎる、自分で入れたろ』
↑2か月前のこれがダメだったのか

ログインして会話に参加
:realtek:

思考の /dev/null