gcloud app deploy无法找到classmap路径

时间:2017-07-01 03:59:12

标签: google-app-engine

我正在尝试将应用程序部署到使用Propel ORM库的Google App Engine。它在本地测试中工作正常,但谷歌App Engine部署无效。它一直失败并输出此消息:

[RuntimeException的]   无法扫描“vendor / bin / orm / orm”中的类似乎不是文件或文件夹

这是我的composer.json内容:

{
    "autoload": {
        "psr-4": { "": ""},
        "classmap": [
            "vendor/bin/orm/orm"
        ]
    },
    "require": {
        "propel/propel": "~2.0@dev",
        "google/cloud": "^0.32.1",
        "php": "5.6.*|7.0.*|7.1.*"
},

  "require-dev": {
    "behat/mink": "^1.7",
    "behat/mink-goutte-driver": "^1.2",
    "phpunit/phpunit": "~4",
    "symfony/browser-kit": "^3.0",
    "symfony/http-kernel": "^3.0",
    "google/cloud-tools": "^0.6"
  }
}

正如我所说它在本地运行...如果我删除了类图配置,应用程序就会部署而不会失败。

1 个答案:

答案 0 :(得分:0)

从Google网上论坛获得此答案:

  

嗨,' vendor / bin / orm / orm'不是推动内部路径。你需要它   仅当您已将生成的模型类保存到该目录中时。   如果您的模型类位于另一个文件夹中(可通过psr-4访问)   autoload)你可以安全地删除' classmap'指令。除此以外,   你应该在gcloud上手动创建这个目录。

刚刚将自动加载类映射更改为PSR-4,如下所示:

"autoload": {
        "psr-4": { "orm\\orm\\": "vendor/bin/orm/orm"}
    }

它有效。希望这可以帮助有相同问题的人。