私はCentOS 7コンピュータにインストールしていますが、protocolbuf
インストール後にprotoc
コンパイラバイナリを実行したときにいくつかの不一致が見つかりました。
$ which protoc
/usr/local/bin/protoc
$ protoc
bash: /bin/protoc: No such file or directory
確かに間違っているようです。どうすれば解決できますか?
答え1
モダンなシェルを使うと覚える以前に実行したコマンドのパス。たとえば、次のようになります。
bash-4.2$ hash
hash: hash table empty
bash-4.2$ whoami
sweh
bash-4.2$ hash
hits command
1 /usr/bin/whoami
プログラムをアンインストールして(あなたの場合/bin/protoc
)、新しい場所(/usr/local/bin/protoc
)にインストールすると、現在のシェルは以前の場所を試みます。古いファイルが存在しなかったため失敗しました。
を使用して、記憶されているすべてのパスを忘れるようにシェルに指示できますhash -r
。
これにより、パスを再検索できます。
このwhich
コマンドは現在シェルのハッシュを理解していません。このtype
コマンドはより正確なシェル組み込みです。