使用Composer提取Github Enterprise上托管的Wordpress插件

时间:2015-05-20 02:12:35

标签: wordpress github wordpress-plugin composer-php github-enterprise

我正在尝试将Github Enterprise repo中的Wordpress插件添加到我的项目中。我在root中有我的wp-content文件夹,我的composer.json如下:

  "repositories": [
      {
      "type": "package",
      "package": {
        "name": "name/plugin-name,
        "type": "wordpress-plugin",
        "version": "v1.0",
        "dist": {
          "type": "zip",
          "url": "https://example.githubname.com/name/plugin-name/archive/v1.0.zip"
        },
        "require" : {
          "composer/installers": "v1.0.21"
        }
      }
    },
    {
      "type":"composer",
      "url":"http://wpackagist.org"
    }
  ],
  "require": {
    "name/plugin-name": "v1.0"
  },

}

以下存储库将解压缩此repo并将其解压缩到/ wp-content /文件夹中。

我收到以下错误:

    Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing name/plugin-name (v1.0)
    Downloading: 100%
    Invalid zip file, retrying...
  - Installing name/plugin-name (v1.0)
    Downloading: 100%
    Invalid zip file, retrying...
  - Installing name/plugin-name (v1.0)
    Downloading: 100%


  [UnexpectedValueException]
  'wp-content/plugins/plugin-name//2b5746433a46375b233f5f91a9a69b43.zip' is not a zip archive.

看起来zip可能正在尝试通过Github Enterprise进行身份验证。我尝试删除"" url":" https://example.githubname.com/name/plugin-name/archive/v1.0.zip""并添加一个面向公众的回购,例如"" url":" https://github.com/WordPress/WordPress/archive/4.2.2.zip""它会正确下载到plugin-name文件夹中。

github企业托管的wordpress插件是否可以在wp-content文件夹中提取?

1 个答案:

答案 0 :(得分:1)

有效的公共URL是该repo的Release。请参阅链接"源代码(zip)"在Release标记为4.2.2中 - 它匹配您指向的公共.zip URL:

https://github.com/WordPress/WordPress/releases/tag/4.2.2

同样,如果你采取了你拥有的来源和"发布"它不是将.zip存储在repo中,而是将它作为一个发行版并引用它.zip它应该可以正常工作。

或者,如果你将.zip放在repo中,它可能会起作用,如果你引用" raw" url但上面的示例实际上是重新创建公共场景。