Drush 9:“命令pm:启用未定义。”

时间:2018-03-13 10:08:54

标签: drupal drush

我正在尝试在Drupal测试站点上启用模块Elasticsearch连接器(托管在pantheon.io上),这是发生的事情:

Drush 9 error: command pm:enable is not defined

这个错误似乎不常见,因为我无法找到如何在SO上解决它。

如果您对出了什么问题有所了解,那就太棒了。

谢谢!

Drush版本:9.2.1 Drush luncher版本:0.6.0

4 个答案:

答案 0 :(得分:0)

例如,在“启动”drupal安装之后,可能会出现此错误,例如:

composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction

你可以想......嗯,干了!但是你只需要下载代码......之后你应该开始自己的drupal安装过程,使用web GUI或drush,来自前面的例子dir“some-dir”:

../vendor/bin/drush site:install

然后drush询问您之前创建的数据库详细信息。

之后,“drush en some_module”按预期运行; - )

答案 1 :(得分:0)

Drush 8和Drush 9之间存在一些不兼容的变化。如果你有一个Drush脚本/命令只是打印出phpinfo,并分别在Drush 8和Drush 9下运行它,你会看到 $ _ SERVER 可能有不同的值,例如

  • $ _ SERVER [ 'PWD']
  • $ _ SERVER [ 'HTTP_HOST']
  • $ _ SERVER [ 'REQUEST_URI']
  • $ _ SERVER [ 'PHP_SELF']
  • ......

因此,如果您在settings.php中使用变量 $ _ SERVER 来初始化Drupal站点的设置,那么一些Drush命令/脚本可能不像以前那样在Drush 9下工作。

虽然我们无法准确判断出您遇到的问题,但我的建议如下:

  • 如果您碰巧使用Drupal 8.4.x,如果您升级到Drupal 8.5.0+,这个问题可以在半个月前就已经解决了。 (的建议
  • 如果您正在使用 $ _ SERVER 变量,请相应地更新您的settings.php文件。

答案 2 :(得分:0)

在我的情况下,我必须在我的网络容器中安装mysql-client。由于某些原因,drush直接使用mysql cli而不使用PHP驱动程序。

提示:使用drush -vvv并查找任何警告!

答案 3 :(得分:0)

尝试使用drupal console

安装模块
//Command to install a module
drupal moi

它将为模块名称提供一个自动完成的界面,这比刷机更容易