2016-12-14 8 views
1

私はトラヴィスにおける選択肢をWEBPするPNG画像を変換したかったが、トラビスCIはかなり古いUbuntuのバージョン12.04を使用していますので、同梱のImageMagickはなかった本当に日まで:Travis CI containerにwebpをサポートする新しいimagemagickをインストールするには?

$ convert -version 
Version: ImageMagick 6.6.9-7 2014-03-06 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC 
Features: OpenMP 

私は、私が使用するsudo: requiredを使用することができることを知っています仮想マシンでトラビスをインストールし、そこに物事をインストールしてビルドします。代わりに、コンテナ化されたビルド環境をsudo: falseで使用したいのですが、はるかに高速です。私は/usr/local/フォルダへのアクセス権を持っていないので、

私はlibwepbまたはimagemagickトラヴィスをコンパイルしようとする私に許可を与えるには、エラーを拒否:

$ make install 
... 
/bin/mkdir -p '/usr/local/include/webp' 
/bin/mkdir: cannot create directory `/usr/local/include/webp': Permission denied 
... 
The command "make install" failed and exited with 2 during . 
+0

あなたは 'distのを指定しようとしたことがありますか?しばらくしてから、利用可能なトラスティーコンテナがあります。 – joepd

答えて

1

トラヴィスは、ユーザーが$PATHを変更し、$HOMEディレクトリにバイナリをインストールすることができます。

ここでは、ルビーの完全な例を示します。これはバイナリを一度コンパイルしてキャッシュするだけです。バージョン番号が一致しない場合にのみ再インストールされます。

language: ruby 
sudo: false 
dist: precise 

cache: 
    directories: 
    - "$HOME/opt" 

addons: 
    apt: 
    packages: 
     - libjpeg-dev 
     - libpng-dev 
     - libgif-dev 
env: 
    global: 
    - IMAGEMAGICK_VERSION: '7.0.3-10' 
    - LIBWEBP_VERSION: '0.5.1' 

# Install newer libwebp and imagemagick 
before_install: 
    # Update PATH so that travis can find newer imagemagick 
    - export PATH=$HOME/opt/bin:$PATH 

    # Checks if Imagemagick is already sufficient version 
    # If not installs it from the sources 
    - convert -version | grep $IMAGEMAGICK_VERSION || { 
    export CORES=$(nproc) && 
    echo "Using $CORES cores for compiling..." && 
    cd /tmp && 
    curl -O https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP_VERSION.tar.gz && 
    tar xvzf libwebp-$LIBWEBP_VERSION.tar.gz && 
    cd libwebp-* && 
    ./configure --prefix=$HOME/opt && 
    make -j$CORES && 
    make install -j$CORES && 
    cd /tmp && 
    curl -O https://www.imagemagick.org/download/ImageMagick-$IMAGEMAGICK_VERSION.tar.gz && 
    tar xvzf ImageMagick-$IMAGEMAGICK_VERSION.tar.gz && 
    cd ImageMagick-* && 
    ./configure --prefix=$HOME/opt && 
    make -j$CORES && 
    make install -j$CORES && 
    $HOME/opt/bin/magick -version | grep $IMAGEMAGICK_VERSION && 
    cd $TRAVIS_BUILD_DIR; } 

    # Update library paths for programs 
    - export LD_FLAGS=-L$HOME/opt/lib 
    - export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$HOME/opt/lib 
    - export CPATH=$CPATH:$HOME/opt/include 

クレジット:私はこのルビーライブラリがlibwebpをインストールし、残りを考え出すことは容易だったかに見えた:あなたの設定でtrusty`:https://github.com/le0pard/webp-ffi/blob/master/.travis.yml

関連する問題