2

残念deploying-a-dancer-app-on-heroku.md ながら、私の展開は のインストールで失敗し、cpanm具体的にはversion.

Strawberry Perl 5.18.2、Windows 7で実行している正確なコマンドは次のとおりです。

  • cd C:\tmp
  • dancer -a myheroku
    + ミヘロク
    + myheroku\bin
    + myheroku\bin\app.pl
    + myheroku\MANIFEST.SKIP
    + myheroku\public
    + myheroku\public\404.html
    + myheroku\public\images
    + myheroku\public\dispatch.cgi
    + myheroku\public\css
    + myheroku\public\css\error.css
    + myheroku\public\css\style.css
    + myheroku\public\500.html
    + myheroku\public\javascripts
    + myheroku\public\javascripts\jquery.js
    + myheroku\public\dispatch.fcgi
    + myheroku\Makefile.PL
    + myheroku\t
    + myheroku\t\001_base.t
    + myheroku\t\002_index_route.t
    + myheroku\ビュー
    + myheroku\views\layouts
    + myheroku\views\layouts\main.tt
    + myheroku\views\index.tt
    + myheroku\lib
      myheroku\lib
    + myheroku\lib\myheroku.pm
    + myheroku\config.yml
    + myheroku\環境
    + myheroku\environments\production.yml
    + myheroku\environments\development.yml

次に、Git Bash で次の操作を行います。

  • cd myheroku/
  • git init
  • git add .
  • git update-index --chmod=+x bin/app.pl
  • git commit -a -m "Dancer on Heroku"
    [master (root-commit) ced2e50] Heroku のダンサー
     22ファイル変更、813挿入(+)
     作成モード 100644 マニフェスト
     作成モード 100644 MANIFEST.SKIP
     作成モード 100644 Makefile.PL
     作成モード 100755 bin/app.pl
     作成モード 100644 config.yml
     作成モード 100644 環境/development.yml
     作成モード 100644 環境/production.yml
     作成モード 100644 lib/myheroku.pm
     作成モード 100644 public/404.html
     作成モード 100644 public/500.html
     作成モード 100644 public/css/error.css
     作成モード 100644 public/css/style.css
     作成モード 100644 public/dispatch.cgi
     作成モード 100644 public/dispatch.fcgi
     作成モード 100644 public/favicon.ico
     作成モード 100644 public/images/perldancer-bg.jpg
     作成モード 100644 public/images/perldancer.jpg
     作成モード 100644 public/javascripts/jquery.js
     作成モード 100644 t/001_base.t
     作成モード 100644 t/002_index_route.t
     作成モード 100644 ビュー/index.tt
     作成モード 100644 ビュー/レイアウト/main.tt
    Miller@NEWTON /c/tmp/myheroku (マスター)
    serene-mountain-6144 を作成しています... 完了、スタックは杉です
    BUILDPACK_URL=http://github.com/damog/heroku-buildpack-perl.git
    http://serene-mountain-6144.herokuapp.com/ | git@heroku.com:serene-mountain-6144.git
    Git リモート Heroku が追加されました
    Miller@NEWTON /c/tmp/myheroku (マスター)
  • git push heroku master
    キー「/c/Users/Miller/.ssh/id_rsa」のパスフレーズを入力してください:
    リポジトリの初期化、完了。
    オブジェクトのカウント: 34、完了。
    最大 4 つのスレッドを使用したデルタ圧縮。
    オブジェクトの圧縮: 100% (30/30)、完了。
    オブジェクトの書き込み: 100% (34/34)、40.71 KiB、完了。
    合計 34 (デルタ 3)、再利用 0 (デルタ 0)

    -----> カスタム git ビルドパックを取得中...完了
    -----> Perl/PSGI ダンサー!アプリが検出されました
    -----> cpanm のブートストラップ
           バージョン 0.9908 のインストールに成功しました (0.77 からアップグレード)
           ! 依存関係のインストールに失敗しました: インストールされたバージョン (0.77) のバージョンが範囲 '0.87' にありません
           ! Module-Metadata-1.000019 のインストールを救済します。
           Scalar-List-Utils-1.38 のインストールに成功しました (1.21 からアップグレード)
           JSON-PP-2.27203 が正常にインストールされました
           Test-Simple-1.001003 のインストールに成功しました (0.92 からアップグレード)
           CPAN-Meta-YAML-0.012 が正常にインストールされました
           Parse-CPAN-Meta-1.4414 のインストールに成功しました (1.39 からアップグレード)
           CPAN-Meta-Requirements-2.125 が正常にインストールされました
           ! 依存関係のインストールに失敗しました: List::Util のインストールされたバージョン (1.21) が範囲 '1.33' にありません。バージョンのインストールされたバージョン (0.77) が範囲 '0.88' にありません
           ! CPAN-Meta-2.140640 のインストールを救済します。
           Perl-OSType-1.007 が正常にインストールされました
           ExtUtils-CBuilder-0.280216 のインストールに成功しました (0.2602 からアップグレード)
           ExtUtils-ParseXS-3.24 のインストールに成功しました (2.2002 からアップグレード)
           ! 依存関係のインストールに失敗しました: モジュール 'Module::Metadata' がインストールされていません, モジュール 'CPAN::Meta' がインストールされていません, インストールされているバージョン (0.77) のバージョンが範囲 '0.87' にありません
           ! Module-Build-0.4205 のインストールを救済します。
           ! 依存関係のインストールに失敗しました: Module::Build のインストールされたバージョン (0.340201) が範囲 '0.36' にありません
           ! App-cpanminus-1.7001 のインストールを救済します。
           10 個のディストリビューションがインストールされています
    -----> 依存関係のインストール
           /tmp/buildpack_24863d3e-f650-49e3-b75b-3ec1285e3ded/bin/compile: 30: ./local/bin/cpanm: 見つかりません
    -----> スターマンのインストール
           /tmp/buildpack_24863d3e-f650-49e3-b75b-3ec1285e3ded/bin/compile: 33: ./local/bin/cpanm: 見つかりません
    -----> プロセスタイプの発見
           Procfile は型を宣言します -> (なし)
           Perl/PSGI Dancer のデフォルトの型! -> ウェブ

    -----> 圧縮中...完了、428K
    -----> 起動中... 完了、v5
           http://serene-mountain-6144.herokuapp.com/ Heroku にデプロイ

    git@heroku.com:serene-mountain-6144.git へ
     * [新しいブランチ] master -> master
    Miller@NEWTON /c/tmp/myheroku (マスター)

上記の結果からわかるように、cpanm はアップグレードversionを試み、成功したと主張しますが、すぐに失敗したと主張し、barfs します。関連するコンパイル ディレクティブの行は次の とおりです。

if ! [ -e $BUILD_DIR/local/bin/cpanm ]; then
  echo "-----> Bootstrapping cpanm"
  curl --silent https://raw.github.com/miyagawa/cpanminus/master/cpanm | perl - App::cpanminus 2>&1 | indent
fi

この最小限のビルド パックのどこが間違っているのか、または Dancer アプリをインストールするための別の作業手順をどこで見つけることができるかを誰かが教えてくれれば幸いです。Google はまだ他のオプションを受け取っていません。

4

1 に答える 1

0

システムの Perl モジュールが、cpanm によって新しくインストールされたモジュールよりも前に検出されていると思われます。「git push heroku master」を実行する前に、cpanm のモジュールがインストールされている場所を確認し、環境変数 PERL5LIB を設定してそれらのディレクトリを最初に試してください。

于 2014-08-25T20:43:46.743 に答える