Mac的cmake安装程序无法创建/ usr/bin符号链接

wil*_*een 33 macos command cmake

尝试在OS X 10.9.3上安装CMake cmake-2.8.12.2-Darwin64-universal.dmg我从Application文件夹中删除旧版本并删除usr/bin中的ccmake,cmake,cmake-gui等.但得到"失败创建符号链接安装可能不完整:/ usr/bin/cpack"和其他错误消息.

如果有任何建议或问题,请告诉我.

感谢您在我的问题上花费宝贵的时间.

小智 81

CMake 3.0似乎不再带有安装程序.所以我遇到了类似的问题.就像@ComicSansMS所说的那样,你需要先删除符号链接sudo rm.然后你可以运行gui sudo /Applications/CMake.app/Contents/MacOS/CMake并使用Tools - > Install For Command Line Use菜单项.

从一些新的3.x版本中,您必须使用此命令来创建符号链接:

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
Run Code Online (Sandbox Code Playgroud)

菜单中的注意选项现在仅提供此指令和其他可能的选择.

  • 这种方式对我有用.似乎必须使用sudo来运行它.当我从应用程序运行它时,它不起作用. (2认同)

小智 18

如前所述,以sudo模式启动GUI.打开终端并输入:

sudo /Applications/CMake.app/Contents/MacOS/CMake
Run Code Online (Sandbox Code Playgroud)

然后在GUI中,转到" 工具"菜单并按" 安装命令行使用"并按" 安装命令行链接"按钮.终端将显示:

ln -s [/Applications/CMake.app/Contents/bin/ccmake] [/usr/bin/ccmake]
ln -s [/Applications/CMake.app/Contents/bin/cmake] [/usr/bin/cmake]
ln -s [/Applications/CMake.app/Contents/bin/cmake-gui] [/usr/bin/cmake-gui]
ln -s [/Applications/CMake.app/Contents/bin/cmakexbuild] [/usr/bin/cmakexbuild]
ln -s [/Applications/CMake.app/Contents/bin/cpack] [/usr/bin/cpack]
ln -s [/Applications/CMake.app/Contents/bin/ctest] [/usr/bin/ctest]
Run Code Online (Sandbox Code Playgroud)

而你在这里.用cmake-3.1.0-rc2测试.

  • 至少从 3.3.0-rc3 开始,“Install For Command Line Use”菜单不再存在。 (2认同)

Coy*_*ote 18

在最新版本中,安装过程很简单,只需在终端输入:

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
Run Code Online (Sandbox Code Playgroud)

并且将自动生成软链接.

cmake version 3.3.2和测试cmake version 3.8.0


如果您担心可能有以前版本的剩余链接,可以在安装新版本之前删除它们:

cd /usr/bin; sudo rm ccmake cmake cmake-gui cmakexbuild cpack ctest
Run Code Online (Sandbox Code Playgroud)

否则,对于旧版本,您应该使用具有管理员权限的帐户启动应用程序,以使安装正常工作.即:

sudo /Applications/CMake.app/Contents/MacOS/CMake
Run Code Online (Sandbox Code Playgroud)


Com*_*sMS 10

这也经常发生在我身上.

问题基本上是从应用程序中删除CMake时未清除先前安装的符号链接,现在安装程序无法将它们更新到新版本.

这里最简单的解决方法是手动删除这些链接/usr/bin并重新运行安装程序.IIRC它至少cmake,ccmake,cmake-gui,cpackctest这种需要去除.最好的方法是ls -l /usr/bin从控制台和grep指向旧CMake安装目录的所有链接执行操作.


Nid*_*hin 8

有一个选项

Cmake GUI->Tools->How to install for command line use
Run Code Online (Sandbox Code Playgroud)

显示选项

One may add CMake to the PATH:

 PATH="/Applications/CMake.app/Contents/bin":"$PATH"

Or, to install symlinks to '/usr/local/bin', run:

 sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

Or, to install symlinks to another directory, run:

 sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install=/path/to/bin
Run Code Online (Sandbox Code Playgroud)

其中第一个选项对我有用.