- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的应用程序组合一个 Travis CI 脚本,这需要 CMake 3.5 或更高版本。可以找到整个 Travis 脚本 here .根据我在别处找到的建议,我使用以下命令安装 CMake:
install:
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir -p ${DEPS_DIR} && cd ${DEPS_DIR}
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz";
mkdir cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C cmake;
export PATH=${DEPS_DIR}/cmake/bin:${PATH};
else
brew outdated cmake || brew upgrade cmake;
fi
- cmake --version
然后我用各种操作系统/编译器组合填充构建矩阵
,最后我运行 Python 安装脚本(参见 here):
before_script:
- cd "${TRAVIS_BUILD_DIR}"
script:
- ./install.py --compiler=$COMPILER
Python 脚本本质上只是调用cmake
和make
,第一个CMakeLists.txt
可以找到here .
使用 Homebrew 安装 CMake 的 OSX 构建完美运行。但是,由于 CMake 不满足最低要求,所有 Linux 构建都在 script
阶段失败:
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
CMake 3.5 or higher is required. You are running version 3.2.2
即使在 install
期间成功安装了 CMake 3.7:
$ cmake --version
cmake version 3.7.2
我做错了什么?
最佳答案
这很奇怪,使用预安装的 CMake 版本(= v3.2 on Travis)而不是更新的版本——但仅当从 Python 调用时才使用。
你可以试试这些:
这将阻止旧版本的使用。如果这不起作用(例如,可能是因为“找不到 Cmake”),这将显示问题的实际原因。
您可以将它添加到您的 install
步骤的 linux 分支中:
sudo apt-get purge cmake
或者:
sudo apt-get remove cmake
(可能需要加-y
确认,所以变成remove -y
)。
通过 CMake Installer 进行安装是一种更简洁的方法。顺便说一句,事实证明 Travis 上的速度更快。
...
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
CMAKE_INSTALLER=install-cmake.sh
curl -sSL https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh -o ${CMAKE_INSTALLER}
chmod +x ${CMAKE_INSTALLER}
sudo ./${CMAKE_INSTALLER} --prefix=/usr/local --skip-license
else
...
我正在使用 curl 而不是 wget + travis_retry,但这并不重要。您仍然可以像以前一样使用它们。
如果两者都不起作用,您应该检查 Python 脚本在哪里寻找可执行文件。
关于cmake - 为什么 Travis 无法识别脚本中已安装的 CMake?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47222115/
我收到了这样的警告日志,我的构建失败了。 WARNING: We were unable to find a .travis.yml file. This may not be what you wa
我真的很想使用 Travis 而无需将 .travis.yml 存储在我的存储库的根文件夹中。知道它是否可以移动到不同的文件夹中、存储在另一个存储库中或在 Travis 网站上指定吗? 最佳答案 来自
我有 .travis.yml 文件在我的 repo 的根目录中,但 Travis-Ci 不断给我消息: Could not find .travis.yml, using standard confi
每当我推送一个新的提交时,Travis CI 都会使我的构建失败,并在每个日志的顶部显示这条消息: WARNING: We were unable to find a .travis.yml file
我正在尝试登录自己托管的 Travis Enterprise,但通常是 travis login和 travis login --pro正在尝试登录到通常的 Travis SAAS 环境 最佳答案 鉴
我希望在我的 Travis CI 存储库设置中声明环境变量,并在我的 .travis.yml 文件中使用它们来部署应用程序并在 Slack 中发布构建通知。 我在 Travis CI 存储库设置中设置
使用 .travis.yml 时,是否有一个环境变量包含 Travis-CI 中当前构建目录的名称?查看文档 here我没有看到。 最佳答案 您可能需要 $TRAVIS_BUILD_DIR,这是我们在
作为我定制的 travis 构建的一部分,我想使用 Travis command-line client在 after_success 脚本中。在这个特定的 repo 中每次成功构建之后,我需要它来触
我有以下 .travis.yml : sudo: required language: node_js branches: only: - master before_install:
我的本地存储库中有一个有效的 .travis.yml。让我们以 travis 帮助中的示例为例:https://github.com/travis-ci/build-stages-demo/blo
所以,我在 GitHub 上设置为另一个用户拥有的项目的合作者 (我有完全推送权等)。我可以设置 Travis 吗 这个项目?我在“存储库”列表中找不到存储库 特拉维斯。 最佳答案 只有存储库管理员可
每次推送到存储库 Y 时,有没有办法触发存储库 X 的 Travis CI 构建?具体来说,我希望每次推送到 http://github.com/tensorflow/tensorflow 时都开始构
我想针对许多浏览器测试我的 .js 框架的不同版本 我希望写一些类似的东西: language: node_js node_js: - 0.11 env: matrix: - BUILD=
我有一个在 Linux 和 OSX 上运行的 travis 作业,我希望能够使用它为每个平台部署不同的构建工件到 github 版本。我的 .travis.yml文件目前看起来像这样: languag
我在 Travis 文件中有以下部署脚本并面临多行命令问题。我尝试了很多组合,但找不到合适的解决方案。如果我将它提取到文件并从脚本属性调用它,它可以正常工作,但我们的目标是将所有命令作为多行命令放在脚
我在 Travis 文件中有以下部署脚本并面临多行命令问题。我尝试了很多组合,但找不到合适的解决方案。如果我将它提取到文件并从脚本属性调用它,它可以正常工作,但我们的目标是将所有命令作为多行命令放在脚
我正在尝试使用以下配置让 Travis 上传到 PyPI deploy: provider: pypi user: P403n1x87 password: $PYPI_PASSWORD
这是有问题的公共(public)存储库:https://travis-ci.org/agerwick/raw-sinatra-boilerplate 我按照此处的建议集成了 codeclimate 的
在那里,在我的项目中使用travis-ci时遇到了“分段错误”错误:IPython-Dashboard msg没有错误,并且在本地运行良好,我感到有些困惑。任何人都可以提出解决问题的任何想法,谢谢。
我有一个带有子目录 ( test ) 的 gem,其中包含用于测试项目的 Rails 3.1.1 应用程序。我正在尝试设置 Travis-CI 以进行持续集成,但是我不知道如何设置我的 .travis
我是一名优秀的程序员,十分优秀!