web-dev-qa-db-ja.com

なぜdrushenは、UIでモジュールを有効にするのとは異なる結果をもたらすのですか?

_drush en mymodule -y_を実行すると、モジュールで問題が発生しません。 UIで同じことをすると、うまくインストールされるようです。エラーはありません。ただし、hook_install()で定義されたロールは作成されません。 Drushではそうです。 UIでのDrushとEnablingモジュールの違いは何ですか?

3
Rod

UIとDrushの間の1つの落とし穴は、ユーザーです。ダッシュコマンドは、デフォルトで匿名として実行されます。 UIの場合と同様に、あなたはより大きな権限を持つユーザー(通常は管理者ユーザー)です。

Drupalの一部は、処理を行う前に権限をチェックします。node_saveはそのような場所の1つです。ロールの作成方法によっては、別の場所がある場合があります。

これを回避するには、Drushで-uフラグを使用します。

drush -u 1 en my_module

これで問題が解決するかどうかは定かではありませんが、役立つ可能性は十分にあります。

2
Jeremy French