ラケットのさまざまなバージョン

ラケットのさまざまなバージョン

ずいぶん前に、友人が私の Ubuntu に Racket 6.1 をインストールするのを手伝ってくれました。友人が何かしたのかはmakeわかりませんが、今ではホーム ディレクトリに Racket フォルダーがあります。

最近、Racket を 6.5 にアップグレードしたいと思い、Racket ppa を apt-get に追加してアップグレードに成功しました。しかし、ターミナルに racket と入力すると、バージョンはまだ 6.1 です。Drracket もまだ 6.1 です。

Setting up racket-common (6.5-20160429~trusty) ...
Installing new version of config file /etc/racket/config.rktd ...
Setting up racket (6.5-20160429~trusty) ...
xxx@laptop:~$ racket --version
Welcome to Racket v6.1.

を開く/etc/racket/config.rktdと、racket ディレクトリが /usr/share/applications として指定されています。 を開くと/usr/share/applications、 のアイコンがありDrRacket、それをクリックすると 6.1 になります。

今何ができるでしょうか?

ありがとう、

アップデート:
これはラケットフォルダをゴミ箱に移動する前です

chi@laptop:~$ racket --version
Welcome to Racket v6.1.

chi@laptop:~$ which racket
/home/chi/racket/bin/racket

chi@laptop:~$ echo $PATH
/home/chi/racket/bin:/home/chi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

これはゴミ箱に移動した後です

chi@laptop:~$ racket --version
bash: /home/chi/racket/bin/racket: No such file or directory

chi@laptop:~$ which racket
/usr/bin/racket

chi@laptop:~$ echo $PATH
/home/chi/racket/bin:/home/chi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

ラケット フォルダをゴミ箱から復元すると、以前の状態に戻ります。何か提案はありますか?

ありがとう、

答え1

まず、コマンドラインの呼び出しに注目しましょう。PATH には、まず古いインストール (ホーム ディレクトリにあるもの) のパスが含まれていると思います。あるいは、単にやり直しをするだけの問題かもしれません。私の提案は次のとおりです。

  • 新しいターミナル ウィンドウを開きます (パスが更新されていることを確認する 1 つの方法)。
  • 実行してracket --version、まだ 6.1 であることを確認します。
  • which racketを実行して、実行している racket のバージョンを確認します。ホーム ディレクトリにインストールされているバージョンだと思います。
  • を実行してecho $PATH、PATH がどのようになっているかを確認します。私の推測では、ホーム ディレクトリにインストールされたものへのパスは、PPA を使用してインストールされたものよりも前に出現するはずです。

もし私が想定したすべてが真実であれば、racketホーム ディレクトリ内のディレクトリを削除することで (または、より保守的に、/tmp必要に応じて元に戻せるようにディレクトリを移動することで)、この問題を解決できる可能性があります。

ホーム ディレクトリから racket を削除した後、シェル ( bash) にコマンドが以前の場所から消えたことを伝える必要があります。これは、bash シェルがすでに使用したコマンドの場所を記憶しているためです。このコマンド ハッシュ テーブルを削除するには、次を実行するhash -rか、既存のシェル インスタンスを閉じて新しいターミナル ウィンドウを開きます。

関連情報