Разные версии ракетки

Мой друг давно помог мне установить Racket 6.1 на мою Ubuntu. Он что-то сделал с make, я не знаю, и теперь у меня есть папка Racket в моем домашнем каталоге.

Недавно я хотел бы обновить Racket до 6.5, поэтому я добавил Racket ppa в apt-get и затем успешно обновился. Тем не менее, когда я набираю ракетку в терминал, это все еще версия 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, он предписывает каталог ракеток как / 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
задан 3 May 2016 в 17:26

1 ответ

Давайте сфокусируемся на вызове командной строки сначала. Мое предположение - то, что Ваш ПУТЬ включает путь старой установки (та в Вашем корневом каталоге) сначала. Или возможно это - просто вопрос выполнения рехеширования. Вот то, что я предложил бы:

  • Открывают новое окно терминала (один способ удостовериться, что пути обновляются).
  • работает racket --version, удостоверьтесь, что это все еще 6.1.
  • работает which racket для наблюдения, какую версию ракетки Вы выполняете. Я предполагаю, что это будет то, установленное в Вашем корневом каталоге.
  • работает echo $PATH для наблюдения то, на что похож ПУТЬ. Мое предположение - то, что путь к тому, установленному в Вашем корневом каталоге, произойдет, прежде чем тот установил использование ppa.

, Если все я предположил, верно, затем можно, вероятно, решить это путем удаления racket каталог в корневом каталоге (или, более консервативно, путем перемещения его в /tmp, таким образом, можно вернуть его, если Вы хотите).

После удаления ракетки из Вашего корневого каталога необходимо сказать оболочке (bash), что команда исчезла из предыдущего местоположения, потому что оболочка удара помнит местоположение команд, уже используемых. Можно удалить эту хеш-таблицу команды любой путем выполнения: hash -r или просто закрытие существующих экземпляров оболочки и открытие нового окна терминала.

0
ответ дан 4 May 2016 в 03:26
  • 1
    Хороший - но Вы, вероятно, хотите скомпилировать cpp с g ++, а не gcc так, чтобы корректный стандарт освободил, связаны - Вы могли рассмотреть использование, 'делают " $ {FILE_NAME} " который должен назвать соответствующий компилятор / компоновщик агностически – steeldriver 9 October 2017 в 06:09

Другие вопросы по тегам:

Похожие вопросы: