WSL上のUbuntu24.04LTSにNode.jsをインストールして使っていたnpmコマンドが、ある日突然実行できなくなりました。
fnmを使ってインストールしたものなのですが、シェル起動時のランコマンドにパスを追加する処理があり、その中でエラーが起きていました。
.bashrc
# fnm
FNM_PATH="/home/kr/.local/share/fnm"
if [ -d "$FNM_PATH" ]; then
export PATH="$FNM_PATH:$PATH"
eval "`fnm env`"
fi
error: Can't create the symlink for multishells at "/run/user/1002/fnm_multishells/11058_1726029612715". Maybe there are some issues with permissions for the directory? Permission denied (os error 13)
上記のエラーが原因でnpmコマンドにパスが通っていないようでした。
エラーに書いてるパスを調べてみると、
/run/user/1002/fnm_multishells
というディレクトリが存在していませんでした。
ですので、以下のコマンドを実行して、ディレクトリを作成して実行ユーザに読込み権限を与えることで解決しました。
sudo mkdir /run/user/1002/fnm_multishells
sudo chown -R {ユーザ名} /run/user/1002