![apt がソフトウェアを PATH に追加しないのはなぜですか?](https://rvso.com/image/1684224/apt%20%E3%81%8C%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%20PATH%20%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F%20.png)
snap
インストール方法を比較していましたapt
。まずは以下を試しましたsnap
:
sudo apt update
- スナップを使用するときにリポジトリを更新してアップグレードする意味があるかどうかはわかりませんが、とにかくそうしましたsudo apt upgrade
sudo snap find kdenlive
- 確実に、正しいスナップがありますsudo snap install kdenlive
kdenlive
- アプリケーションを起動します- GUIからアプリケーションを閉じる
sudo snap remove kdenlive
sudo apt autoremove
- これをスナップで使用するかどうかはわかりませんが、とにかく使用しました
次にapt
関数を進めます:
sudo apt update
sudo apt upgrade
sudo apt list kdenlive
- kdenliveパックを探すのですが、ここでの出力が理解できませんでしたsudo apt install kdenlive
kdenlive
- エラーが発生します (bash: /snap/bin/kdenlive: No such file or directory
)./kdenlive
- 同じエラーが発生し、GUIからのみアプリケーションを実行できます- 上記と同じ方法でアンインストールします
では、なぜこのようなことが起こるのでしょうか?
答え1
シェル(bash)はパス検索のメモリキャッシュを保持します。kdenlive
一度実行して解決されると/snap/bin/kdenlive
、その特定のシェルプロセスは直接/snap/bin/kdenlive
$PATH の内容に関係なく、その時点から移動します。
プログラムが 1 つの場所から別の場所に移動された場合、hash -r
変更を反映するにはシェルを実行または再起動する必要があります。