3

だから、私はElixirとPhoenixが初めてです。私はハローワールドアプリを作りました。ある男のブログ アプリをフォローしました。Phoenix フレームワークの最初の手順に従いました。ここまでは順調ですね。

しかし、今夜、私は何か新しいものを持っています。

混合テストを実行するたびに、次の結果が得られます。

hail2skins@elixir:~/workspace/phoenix/test_blog $ mix test
** (ArgumentError) argument error
   :erlang.exit(nil, :normal)
   (ecto) lib/ecto/adapters/postgres.ex:55: Ecto.Adapters.Postgres.stop/2
   (ecto) lib/mix/ecto.ex:75: Mix.Ecto.ensure_stopped/2
   test/test_helper.exs:4: (file)
   (elixir) lib/code.ex:307: Code.require_file/2

これで、同じサーバーの別のフォルダーにある別のアプリでミックス テストを実行できます。

このアプリには Phoenix 1.03 がインストールされています。しかし、私が実行している他のアプリでは、それが Phoenix 1.02 であることがわかります。いずれにせよ、アプリを削除し、新しいシンプルなアプリを作成し、指示に従って mix ecto.create を実行し、すぐに mix test を試してみましたが、失敗しました。新しいアプリを試すたびに失敗します。これは私の設定の問題ですか? 私は Cloud 9 を使用しています。私が言うように、他のアプリではすべて問題ないように見え、このアプリでさえ正しく読み込まれます。

それとも、これまで誰も見たことのない新しいものですか?

別のフォルダー内の同じボックスにある別のアプリも失敗した場合、私はそれほど困惑しません. しかし、ミックステストを実行するとうまくいきます。新しいアプリは機能しません。

4

1 に答える 1

2

これは ecto バージョン 1.0.5 のバグのようです。{:ecto, "== 1.0.4"}mix.exs ファイルの依存関係に行を追加し、 deps と _build を削除して、問題を解決しました。これはすぐに修正されると思いますが、それまではecto 1.0.4に固執することで問題が解決します.

于 2015-10-17T06:08:42.800 に答える