
volta uninstall yarnのエラーを解決する方法
概要
volta uninstall yarnがエラーになるので、その対処法を記録に残します。
voltaをインストールしたものの、corepackを使うのが良いらしいので入れたら、yarnが重複したので、yarnを消そうとしましたが結構苦戦しました。
追記
この記事を書いた後に調べたらcorepackはなくなるらしいし、pnpmでnodeのバージョン管理もできるらしいので、corepackいらないかも?(移り変わり早すぎィ!!)
さらに追記
voltaより、miseでpnpmがいいらしいぞぉ!(錯乱)
現状
voltaのインストール状況
大元のYarnとToolのyarnがコンフリクトしそう
$ volta list
⚡️ Currently active tools:
Node: v20.18.1 (default)
Yarn: v4.6.0 (default)
Tool binaries available:
corepack, pnpm, pnpx, yarn, yarnpkg (default)
See options for more detailed reports by running `volta list --help`.
uninstallコマンドで消そうとするとエラーになる
$ volta uninstall yarn
error: Uninstalling yarn is not supported yet.
解決策
yarnのファイル群を削除
$ rm -rf ~/.volta/tools/image/yarn/4.6.0
$ rm -rf ~/.volta/tools/inventory/yarn/yarn-v4.6.0.tar.gz
platform.jsonのyarnのnullに変更
$ nano ~/.volta/tools/user/platform.json
2.1 修正前
{
"node": {
"runtime": "20.18.1",
"npm": null
},
"pnpm": null,
"yarn": "4.6.0"
}
2.2 修正後
{
"node": {
"runtime": "20.18.1",
"npm": null
},
"pnpm": null,
"yarn": null
}
シンボリックリンクの削除
$ ls -la ~/.volta/bin/yarn
/home/nagisora/.volta/bin/yarn -> /home/nagisora/.volta/bin/volta-shim
$ rm ~/.volta/bin/yarn
$ ls -la ~/.volta/bin | grep yarn
yarnpkg -> /home/nagisora/.volta/bin/volta-shim
$ rm ~/.volta/bin/yarnpkg
$ ls -la ~/.volta/bin | grep yarn
# 何も表示されなければok
確認
消えたか確認してみる
$ volta list
⚡️ Currently active tools:
Node: v20.18.1 (default)
Tool binaries available:
corepack, pnpm, pnpx, yarn, yarnpkg (default)
See options for more detailed reports by running `volta list --help`.
$ yarn -v
bash: /home/nagisora/.volta/bin/yarn: そのようなファイルやディレクトリはありません
何か残ってそう。。。
bashをもう1つ起動して、消えたか確認
$ yarn -v
コマンド 'yarn' が見つかりません。次の方法でインストールできます:
sudo apt install cmdtest
$ volta list
⚡️ Currently active tools:
Node: v20.18.1 (default)
Tool binaries available:
corepack, pnpm, pnpx, yarn, yarnpkg (default)
See options for more detailed reports by running `volta list --help`.
消えてそうだけど、yarnがvoltaの管理下にない気がする。
corepackを再度入れ直してみる。
$ volta uninstall corepack
Removed executable 'corepack' installed by 'corepack'
Removed executable 'pnpm' installed by 'corepack'
Removed executable 'pnpx' installed by 'corepack'
Removed executable 'yarn' installed by 'corepack'
Removed executable 'yarnpkg' installed by 'corepack'
success: package 'corepack' uninstalled
$ volta install corepack
success: installed corepack@0.30.0 with executables: corepack, pnpm, pnpx, yarn, yarnpkg
$ corepack enable
$ yarn -v
Volta error: Yarn is not available.
Use `volta install yarn` to select a default version (see `volta help install` for more info).
無事にvoltaのyarnをuninstallできた。
参考
voltaのGitHubのissueより(claude-3.5-sonnetで翻訳)
みなさん、こんにちは!
Voltaを使ってyarnを削除しようとしていたのですが、うまくいかなかったので、#327(コメント)で言及されているようにフォルダを削除しました。
Voltaがまだどこかからyarnを参照していたので、@dwiyatciが述べたことに加えて、以下のことも行いました:
~/.volta/tools/user/platform.jsonからyarnのバージョンを削除
~/.volta/binからシンボリックリンクを削除(私の場合は yarn -> ~/.volta/bin/volta-shimでした)
みなさん、こんにちは 👋
RFCが完了するのを待つ間、手動でこれを行う代替方法はありますか?例えば、もしyarn@1.22.10を使用しなくなり、「アンインストール」したい場合、以下のファイルを削除(rm -rf)するだけで十分でしょうか?
~/.volta/tools/image/yarn/1.22.10 ~/.volta/tools/inventory/yarn/yarn-v1.22.10.tar.gz
ありがとうございます。
おわりに
voltaが良いらしいので使ってみたら、少し面倒なことになりました。
この記録が皆さまのお役に立ちましたら幸いです。