モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

plenv および carton の基本的な使用方法

モーダルを閉じる

ステッカーを選択してください

お支払い手続きへ
モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2015/04/04
最終更新最終更新
2017/07/09
記事区分記事区分
一般公開

目次

    Arduinoが趣味のエンジニアです。電子工作やプログラミングを楽しんでいます!

    plenv の基本

    インストール

    GitHub からダウンロードしてインストールします。

    $ git clone https://github.com/tokuhirom/plenv.git ~/.plenv
    $ git clone https://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/
    

    ~/.bashrc

    export PATH=$HOME/.plenv/bin:$PATH
    eval "$(plenv init -)"
    

    必要なソフトウェアのインストール

    例えば以下のようなものが必要になります。状況に応じて追加で適宜インストールしてください。

    $ sudo yum install gcc
    $ sudo yum install openssl-devel
    $ sudo yum install patch
    $ sudo yum install readline-devel
    

    plenv を用いた perl のインストール

    インストール

    $ plenv install -l
    $ plenv install 5.20.0
    $ plenv rehash
    $ plenv versions
    

    バージョンの切替

    $ plenv global 5.20.0
    $ plenv local 5.20.0
    $ cat .perl-version
    5.20.0
    

    cpanm のインストール

    cpanm は ruby の gem コマンドに相当します。現在有効な perl に対してのみインストールされることに注意してください。

    $ plenv install-cpanm
    $ plenv which cpanm
    

    carton の基本

    インストール

    carton は ruby の bundler に相当します。cpanm でインストールします。

    $ plenv exec cpanm Carton
    $ plenv rehash
    

    carton の利用例

    carton を用いて Plack および Starman のインストールする手順を carton の利用例として紹介します。

    設定ファイルの作成

    $ cat cpanfile
    requires 'Plack', '0.9980';
    requires 'Starman', '0.2000';
    

    インストール

    cpanfile.snapshot および local/ が生成されます。

    $ plenv exec carton install
    

    Perl モジュールをローカルに保存

    vendor/cache/ が生成されます。rbenv exec bundle package のようなものです。

    $ plenv exec carton bundle
    

    バージョン管理システム

    Git などを利用している場合は以下のように考えます。

    • local/ → レポジトリに含めない
    • cpanfile.snapshot → 後述の --deployment を利用する際に必要なためレポジトリに含める
    • vendor/cache/ → 後述の --cached を利用する場合はレポジトリに含める
    • .perl-version → plenv の使用を前提としたプロジェクトであればレポジトリに含める

    別の PC でインストールする際の手順

    Git clone した後に別の PC でインストールする手順は数種類あります。開発環境のように cpanfile のバージョン情報を満たせばよいという場合は以下のようにします。

    $ plenv exec carton install
    

    ローカルに保存したキャッシュがレポジトリに含まれている場合はそれを利用できます。

    $ plenv exec carton install --cached
    

    cpanfile.snapshot の依存関係に完全にしたがってインストールするためには以下のようにします。

    $ plenv exec carton install --deployment
    

    ローカルに保存したキャッシュがレポジトリに含まれている場合はそれを利用できます。

    $ plenv exec carton install --deployment --cached
    

    動作検証

    myapp.psgi

    my $body ="hello plack!";
    my $app = sub {[
            200,
            [ "Content-Type" => "text/html", "Content-Length" => length $body ],
            [ $body ],
        ];
    };
    $app;
    

    コマンド例

    $ plenv exec carton exec starman -p 8080 myapp.psgi
    
    Likeボタン(off)0
    詳細設定を開く/閉じる
    アカウント プロフィール画像

    Arduinoが趣味のエンジニアです。電子工作やプログラミングを楽しんでいます!

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    >>さらに詳しくステッカーを贈る
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      ログインする