本文档译自:https://docs.conan.io/en/latest/installation.html
Conan可以安装到很多操作系统中。它已经在Windows、Linux(不同发行版)、OSX中得到了广泛的使用和测试,在FreeBSD和Solaris SunOS也得到了积极的使用。还有一些其他的操作系统已反馈也可以运行。
安装Conan有三种方式:
pip
命令从PyPI(Python Package Index)安装Conan。 要通过pip
安装Conan,需要在机器上安装Python >= 3.5发行版。Python 3.4的支持已经被放弃,Python 2已经被弃用。现代的Python发行版都预装了pip
,但是,如果有必要的话,可以按照pip文档中的说明安装pip
。
安装Conan:$ pip install conan
重要,请仔细阅读:
sudo
权限来全局安装Conan。venv
是可以被替换的(查看https://docs.python.org/3/library/venv.html)。如果不使用virtualenv,Conan依赖项可能会与先前已有的依赖项相冲突,特别是当前有使用Python用于其他工作时。$ pip install --user conan
。wrapt
依赖项。关于这个问题和解决方法可以参考:https://github.com/GrahamDumpleton/wrapt/issues/112已知的pip安装问题
pip install --user <username>
安装Conan时,通常为它新建一个目录。然后,该目录不会自动附加到PATH,导致conan
命令也不生效。通常可以通过重启会话终端或者运行一下命令来解决:$ source ~/.profile
。在OSX中,可以根据下面步骤安装Conan:
$ brew update
$ brew install conan
在Arch Linux上安装Conan最简单的方法是使用Arch User Repository(AUR)助手,如:yay
、aurman
或pakku
。例如,下面的命令使用yay
安装Conan:$ yay -S conan
。
或者,按照Arch Wiki中的描述,使用makepkg
和pacman
手动构建和安装Conan。Conan的构建文件可以从AUR:https://aur.archlinux.org/packages/conan/中下载。确保首先安装下面三个Conan依赖项,它们同样可以在AUR中找到:
python-patch-ng
python-node-semver
python-pluginbase
打开Conna网站,下载指定平台的安装包。执行安装包。不再需要单独安装Python。
检测Conan是否安装成功,在控制台中运行命令:$ conan
。响应可能类似如下:
Consumer commands
install Installs the requirements specified in a recipe (conanfile.py or conanfile.txt).
config Manages Conan configuration.
get Gets a file or list a directory of a given reference or package.
info Gets information about the dependency graph of a recipe.
...
可以从源码直接运行Conan,首先,需要安装Python和pip。
克隆(或下载和解压)git仓库,并安装依赖项:
$ git clone https://github.com/conan-io/conan.git
$ cd conan
$ pip install -r conans/requirements.txt
创建脚本来运行Conan,并添加到PATH中。
#!/usr/bin/env python
import sys
conan_repo_path = "/home/your_user/conan" # ABSOLUTE PATH TO CONAN REPOSITORY FOLDER
sys.path.append(conan_repo_path)
from conans.client.command import main
main(sys.argv[1:])
测试conan脚本:$ conan
。
将会看到Conan命令帮助。
如果是通过pip
安装,Conan可以很简单的更新:
$ pip install conan --upgrade # Might need sudo or --user
如果是通过安装包(.exe或.deb)安装的话,下载最新的安装程序并执行。
如果没有检测到本地变化,默认的<userhome>/.conan/settings.yml
文件(包含了编译器版本等定义)将会被升级,否则它将会用新的设置创建一个settings.yml.new
文件。如果想要重新生成设置,可以手动删除settings.yml
文件,它将在首次需要时使用新的信息创建。
升级不会影响已安装的包或缓存信息。如果缓存变得不一致,可能就需要删除它的内容(<userhome>/.conan
);