«cmake --version» указывает на / usr / bin / cmake, а «which cmake» указывает на / usr / local / bin - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь обновить cmake на моем компьютере с Linux.Вот команда, которую я использовал

sudo apt purge --auto-remove cmake

После загрузки и извлечения cmake-3.13.3.tar.gz

./bootstrap
make 
sudo make install 

когда я сделал cmake --version, он возвращает

bash: /usr/bin/cmake: No such file or directory

Однако в /usr/bin не существует исполняемого файла cmake, и, как ни странно, which cmake возвращает

/usr/local/bin/cmake

, где на самом деле находится cmake.

My $path равно

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Как у меня есть команда cmake, указывающая на /usr/local/bin/cmake?

Редактировать: отличается от другого вопроса, поскольку я точно знаю, где исполняемый файл cmake именно такой--version и which имеют различный эффект.

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Оказывается, мне нужно выйти из оболочки, чтобы эффект имел место.Как только я запускаю новую оболочку терминала, cmake --version сработал.

0 голосов
/ 31 января 2019

В bash вы можете использовать hash -r, чтобы он забывал все запомненные места ранее выполненных команд.

0 голосов
/ 30 января 2019

Согласно github / cmake readme :

 You may use the --prefix=<install_prefix> option to specify a custom installation directory for CMake. 

В boostrap скрипте видно, что установка префикса cmake по умолчанию: здесь :

cmake_default_prefix="/usr/local"

Но я бы просто не пошел с bootstrap --prefix=/usr.Поскольку я использую archlinux, я бы пошел с тем, что Archlinux использует для установки по умолчанию, начиная с здесь :

  ./bootstrap --prefix=/usr \
    --mandir=/share/man \
    --docdir=/share/doc/cmake \
    --sphinx-man \
    --system-libs \
    --qt-gui \
    --parallel=$(/usr/bin/getconf _NPROCESSORS_ONLN)

Выглядит разумно.Я вижу, вы используете apt-get в качестве менеджера пакетов, если это Debian, вы можете скачать исходные пакеты для cmake из здесь и найти где-нибудь команду build.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...