2017-11-26 8 views
1

私は現在、私はケーキ/ベークを実行するたびに=> 3. 2からアプリを移行するプロセスに私はこのエラーを取得しています:ケーキ焼くシェルスクリプトは(cakephp2 => cakephp3の移行後に)失敗した

Exception: Shell class for "-working" could not be found. in [/Users/david/Sites/otherland/app/vendor/cakephp/cakephp/src/Console/ShellDispatcher.php, line 328] 

Array 
(
    [0] => /Users/david/Sites/otherland/app/bin/cake.php 
    [1] => -working 
    [2] => /Users/david/Sites/otherland/app 
    [3] => bake 
) 

明らかインデックス1とparamは問題がある:私はShellDispatcherに与えられたパラメータを見てみると、私はこれを参照してください。私は積極的に "ワーキング"をシェルに入力していません。私はこれがどこから来るのか分かりません。誰でもこれがどこに由来するのかわかりません

答えて

1

問題は、ファイルapp/bin/cake(Windowsユーザーの場合はapp/bin/cake.bat)を置き換えなかったことでした。これらのファイルには、ケーキ2から3に少し変更があり、それらを置き換える必要があります。 (を入手してください)

編集:cakephp upgrade-tool(https://github.com/cakephp/upgrade)には、前述のファイルなどをコピーするタスク(skeleton)があります。私はそれを試していないが、これは問題に対処するための良い方法のように思える。

+0

ケーキ3プロジェクトを作成して新しいモデルを作成し、ケーキ2プロジェクトから手動でコードを移動するために、作曲者を使用することをお勧めします。これにより、自由な単体テストから始めることができます。単体テストを使用して、機能を確認することができます。はい、時間がかかりますが、最後にはより良い結果が得られます。 – cgTag

+0

@MathewFoscariniこれは確かに方法ですが、私は3.xアップグレードツールを使用することを選択し、マニュアルで説明したファイルを置き換える必要があります。 –

+0

私は実際にアップグレードツールがあるのを忘れていました。これがツールが逃したものであれば。 GitHubプロジェクトで問題を開いて、何かのように聞こえるようにチームに警告する必要があります。 – cgTag

関連する問題