Я хотел обновить мою версию cmake. Поэтому я сначала удалил его, а затем попытался установить, как указано в этом сообщении, teocci.
Однако он вносил некоторые ошибки при вводе make, и теперь я хочу его удалить и установить предыдущую версию cmake , Я попробовал sudo apt-get purge cmake. Но он все еще остается в системе при входе cmake --version.
Что мне делать?
TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.
Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.
Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.
Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:
Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1
Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.
Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого
1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:
#=============================================================================
# Target rules for targets named uninstall
# Build rule for target.
uninstall: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 uninstall
.PHONY : uninstall
# fast build rule for target.
uninstall/fast:
$(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build
.PHONY : uninstall/fast
Вы также можете найти файл в файле CMakeLists.txt.
Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.
TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.
Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.
Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.
Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:
Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1
Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.
Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого
1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:
#=============================================================================
# Target rules for targets named uninstall
# Build rule for target.
uninstall: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 uninstall
.PHONY : uninstall
# fast build rule for target.
uninstall/fast:
$(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build
.PHONY : uninstall/fast
Вы также можете найти файл в файле CMakeLists.txt.
Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.
TL; DR: Запустите sudo make uninstall в каталоге, где вы запускали sudo make install раньше.
Вы следовали этому методу установки другой версии CMake. Это означает, что вы удалили версию, предоставленную менеджером пакетов Ubuntu, и вручную загрузили, скомпилировали и установили ее самостоятельно из исходного кода.
Предполагая, что вы успешно выполнили эти инструкции, версия CMake предоставлена менеджер пакетов Ubuntu (через пакет cmake) уже удален. Поскольку версия, которую вы установили сейчас, не предоставляется диспетчером пакетов Ubuntu, но вместо нее вы скомпилировали и установили самостоятельно, запуск sudo apt-get purge cmake снова не удаляет его.
Поскольку вы установили cmake на компиляция, а затем запуск sudo make install, решение для вас:
Используйте cd, чтобы вернуться в каталог, в котором вы запустили эту команду. Запустите sudo make uninstall.Не все программное обеспечение, которое может быть установлено при запуске make install, имеет соответствующую цель uninstall, позволяющую вам запустить make uninstall, чтобы удалить его. TL; DR: 1
Если вы удалили папку, в которой вы запустили sudo make install, или иным образом изменили ее, то лучше всего ее перестроить и переустановить (be обязательно используйте точно такую же версию), чтобы вернуть возможность запуска sudo make uninstall. То есть вы будете следовать тем же самым установкам, начиная с того же файла .tar.gz и передавая все те же параметры, которые вы использовали (если они есть), на ./bootstrap. Если вы только что запустили ./bootstrap без аргументов, сделайте это снова. После повторного запуска sudo make install, который (безвредно) перезапишет файлы, которые уже были установлены с их копиями, тогда вы сможете использовать sudo make uninstall.
Еще один возможный подход, который я решительно отвергаю вы должны были попытаться выяснить, какие файлы и каталоги были созданы в процессе установки, и попытаться удалить только эти файлы и каталоги, но не другие. Если вы не передали --prefix в ./bootstrap при компиляции CMake, тогда он установил файлы в /usr/local, но это не единственная программа, которая использует этот каталог. Он установил файлы в разных подкаталогах /usr/local, таких как bin и lib (и другие), поэтому в стороне от ситуации, когда вы знаете, что в /usr/local ничего не было установлено, этот параметр требует многого
1 Легко запутаться в том, удалите ли вы CMake, не запуская sudo make uninstall, потому что уже удалил , этот метод . Однако, Если вы удалили папку , и ее исходный код определит эти цели удаления для себя. В Makefile, сгенерированном при запуске ./bootstrap, вы можете увидеть:
#=============================================================================
# Target rules for targets named uninstall
# Build rule for target.
uninstall: cmake_check_build_system
$(MAKE) -f CMakeFiles/Makefile2 uninstall
.PHONY : uninstall
# fast build rule for target.
uninstall/fast:
$(MAKE) -f CMakeFiles/uninstall.dir/build.make CMakeFiles/uninstall.dir/build
.PHONY : uninstall/fast
Вы также можете найти файл в файле CMakeLists.txt.
Конечно, я тестировал это с помощью CMake 3.9.0, и он работает. Создается цель uninstall и запускается sudo make uninstall, чтобы удалить CMake.