2017-06-14 41 views
0

我剛剛從混帳克隆的wget http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz在Linux服務器上的一個新文件夾安裝CMake的。編譯工作但cmake命令不能從其他路徑識別。我應該將cmake-2.8.0文件夾的全部內容複製到usr/local/bin嗎?或者是需要複製的bin文件夾的內容?如何使CMake的全局可用

謝謝

+0

請勿從源代碼安裝軟件,請使用您的軟件包管理器。如果沒有(如果你知道自己在做什麼),通常以GNU-ish方式(configure,make all,make install)從源代碼構建的軟件通常會將二進制文件安裝到'/ usr/local/bin'中。 –

+0

我不是管理員,但我有sudo權限。我不確定我應該嘗試什麼,管理員沒有反應。 – user3781528

+0

因此,這會返回/ opt/cmake/bin/cmake -version cmake版本2.8.3。我只需要使用一次cmake來安裝另一個軟件。有沒有辦法訪問它?謝謝 – user3781528

回答

0

在Linux和其他基於Unix的系統上,常見的安排是將軟件包安裝到/opt,並將相關條目添加到PATH環境變量中以使其可用。這適用於非本地軟件包管理器或發行版提供的軟件包。通過選擇合適的目錄結構,可以以允許同時安裝不同版本的方式完成,並且用戶可以通過將相關目錄添加到PATH來選擇他們想要的目錄。

對於cmake的特定情況下,這個問題問一下,你可以使用目錄結構像/opt/cmake/<version>然後添加相關/opt/cmake/<version>/bin目錄到PATH(例如/opt/cmake/3.8.2/bin爲3.8.2 CMake的版本)。你甚至可以只用download官方預先製作的CMake壓縮包,將它們解壓縮並將頂級目錄作爲您下載的特定版本移動到/opt/cmake區域。我已經在Linux,MacOS和Solaris上成功地使用了它,因爲我確定有很多其他的。

請注意,一旦您在特定的源代碼樹上運行CMake,則cmake可執行文件不再需要位於PATH之上。如果cmake需要重新運行,構建將這樣做本身和它記錄的完整路徑,在其自己的高速緩存中的cmake可執行文件,所以PATH甚至沒有諮詢(這是在保證相同版本的CMake的延續至關重要用於所有版本,無論PATH如何,因爲PATH可以在登錄會話之間更改等)。你只需要在cmakePATH如果你打算手動或者你第一次在源代碼樹中運行它,但在這兩種情況下,如果你首選,你總是可以只使用完整路徑cmake可執行文件調用cmake

我還要補充一點,在CMake的包提供的文件的整個集合是必需的,而不僅僅是bin目錄。 CMake在其他目錄中廣泛使用文件,例如它附帶的各種模塊。如果您從源代碼構建CMake,則可能需要構建package目標,以便獲得可重定位的tarball或類似文件,其中包含在您的系統上提供CMake軟件包時應包含的所有內容。

0

生成後,使用'sudo make install'。這將確保將正確的庫和二進制文件複製到適當的位置。

通常這會將二進制文件安裝到/ usr/local/bin。

確保PATH變量包含此項。

0

須藤使安裝沒有複製到/ usr/local/bin目錄/出於某種原因,所以我複製的CMake/bin中的內容。到usr/local/bin它工作。

cp -a bin /。/usr/local/bin/