我剛剛從混帳克隆的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的全局可用
謝謝
我剛剛從混帳克隆的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的全局可用
謝謝
在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
可以在登錄會話之間更改等)。你只需要在cmake
你PATH
如果你打算手動或者你第一次在源代碼樹中運行它,但在這兩種情況下,如果你首選,你總是可以只使用完整路徑cmake
可執行文件調用cmake
。
我還要補充一點,在CMake的包提供的文件的整個集合是必需的,而不僅僅是bin
目錄。 CMake在其他目錄中廣泛使用文件,例如它附帶的各種模塊。如果您從源代碼構建CMake,則可能需要構建package
目標,以便獲得可重定位的tarball或類似文件,其中包含在您的系統上提供CMake軟件包時應包含的所有內容。
生成後,使用'sudo make install'。這將確保將正確的庫和二進制文件複製到適當的位置。
通常這會將二進制文件安裝到/ usr/local/bin。
確保PATH變量包含此項。
須藤使安裝沒有複製到/ usr/local/bin目錄/出於某種原因,所以我複製的CMake/bin中的內容。到usr/local/bin它工作。
cp -a bin /。/usr/local/bin/
請勿從源代碼安裝軟件,請使用您的軟件包管理器。如果沒有(如果你知道自己在做什麼),通常以GNU-ish方式(configure,make all,make install)從源代碼構建的軟件通常會將二進制文件安裝到'/ usr/local/bin'中。 –
我不是管理員,但我有sudo權限。我不確定我應該嘗試什麼,管理員沒有反應。 – user3781528
因此,這會返回/ opt/cmake/bin/cmake -version cmake版本2.8.3。我只需要使用一次cmake來安裝另一個軟件。有沒有辦法訪問它?謝謝 – user3781528