【发布时间】:2015-06-25 22:25:24
【问题描述】:
我的before_install 在我的.travis.yml 中读取
before_install:
- . scripts/get_racket.sh
- alias racket="${RACKET_DIR}/bin/racket"
我还有一个脚本get_racket.sh,上面写着
#!/bin/bash
if [[ -z "$RACKET_VERSION" ]]; then
echo "Racket version environment variable not set, setting default"
export RACKET_VERSION=HEAD # set default Racket version
echo "Version: $RACKET_VERSION"
fi
if [[ -z "$RACKET_DIR" ]]; then
echo "Racket directory environment variable not set, setting default"
export RACKET_DIR='/usr/racket' # set default Racket directory
echo "Directory: $RACKET_DIR"
fi
if [ ! -e cache ] || [ ! -d cache ]; then
echo "Creating cache folder ..."
mkdir cache
fi
cd cache
INSTALL=$(ls | grep '^racket*.sh' | tr -d '[:blank:]')
if [[ ! -e "$RACKET_DIR" ]] || [[ ! -d "$RACKET_DIR" ]]; then
if [[ -z "$INSTALL" ]]; then
echo "Racket installation script not found, building."
if [ ! -e travis-racket ] || [ ! -d travis-racket ] \
|| [ ! -e travis-racket/install-racket.sh ] \
|| [ ! -f travis-racket/install-racket.sh ]; then
git clone https://github.com/greghendershott/travis-racket.git
fi
bash < travis-racket/install-racket.sh
else
"./$INSTALL"
fi
fi
which racket &>/dev/null
ESTATUS=$?
if [[ -n "$ESTATUS" ]]; then
echo "Adding racket to PATH"
export PATH="${PATH}:${RACKET_DIR}/bin"
fi
alias racket='$RACKET_DIR/bin/racket'
cd ..
但是在我的构建链中稍后使用球拍的脚本中,我不断得到
racket: command not found
正如您在上面的 sn-ps 中看到的,我尝试了一些解决方法来安装(以及稍后缓存以加快构建速度)没有 sudo 权限的球拍(因为这是 Travis CI 的基于容器的基础架构的限制)。任何帮助将不胜感激,我很难过。
【问题讨论】:
标签: bash build continuous-integration racket travis-ci