質問

composer.jsonファイルが含まれていないリポジトリをこのようにインストールすることができました:

    {
        "type": "package",
        "package": {
            "name": "yahoo/yui-compressor",
            "version": "2.0.4",
            "dist": {
                "url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.zip",
                "type": "zip"
            }
        }
    },
.

私はドキュメントから「タイプ」の部分を取りましたが、他の多くの種類が見つかりませんでした。たとえば、jQueryをインストールする必要がありますが、Typeに入れるのかわかりません( "JS"は機能しませんでした)。

    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }
.

任意のアイデア?

編集:@cmcdragonkaiを助けるためにソリューションを追加しています:

    "require": {
        "vendorname/somefile": "1.2.3",
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "vendorname/somefile",
                "version": "1.2.3",
                "dist": {
                    "url": "http://example.com/somefile.txt",
                    "type": "file"
                }
            }
        }
    ]
.

役に立ちましたか?

解決

これは単に欠けている機能です。ダウンロードされ、ars-isが残される単なる平文ファイルである新しいタイプのDISTがあるはずです。github issue tracker://github.com/composer/composer/assues/"noreferrer"> https://github.com/composer/composer/composer/composer/composer/composer/composer/composer/jp/

編集:

特徴は実際に存在していますが、文書化されていませんでした。

"type": "file"
.

他のヒント

実際にjQueryをインストールする方法はあります。

{
    "require": {
        "components/jquery": "1.9.*"
    }
}
.

コンポーネントインストーラfor composer には、コンポーネントからのすべてのアセットがcomponentsの下にインストールされていますが、カスタマイズできます。。( docs を参照してください。

既に概説されているように、ソリューションの一部は、自分のリポジトリと"type: ": "file"リポジトリ定義オプションを定義しています。しかし、後続の問題はあなたがそれを望むjQueryを置くために作曲家を得ることです。それが議席として、Composerはvendor-dirの下で依存関係ソースをダウンロードすることに限定されているようです(これは迷惑なものですが、おそらくオートローディング要件に関連しています)。この制限に対する一般的な修正は、それを克服する作曲家のプラグインを書くことです。これを管理できるいくつかのプラグインのようです。私が見つけた最も単純な最も軽量の解決策は PHP Composer Asset Manager 。これは、非PHP / Composer" Assets "の管理専用です。しかし、プラグインが作曲者によって管理/検出されていないという変更は、少なくとも1つの制限があります。まだ使用可能です。

それはそのプラグインを使用してjQueryをインストールするための完全なcomposer.jsonです。

{
  "name": "foo/bar",
  "require":
  {
    "phpclasses/assets": "*",
     "jquery/jquery": "*"
  },
  "repositories": [
    {
     "type": "composer",
     "url": "http://www.phpclasses.org/"
    },
    {
      "type": "package",
      "package": {
        "name": "jquery/jquery",
        "version": "1.7.2",
        "type": "jquery",
        "dist": {
          "url": "http://code.jquery.com/jquery-1.7.2.js",
          "type": "file"
        }
      }
    }
  ],
  "extra": {
    "assets": {
      "actions": [
        {
          "type": "copy",
          "target": "webroot/js",
          "pattern": "\\.js$"
        }
      ],
      "packages": {
        "jquery/jquery": "*"
      }
    }
  }
}
.

NPMを使用してjQueryをインストールできます。

npm install jquery
.

https://www.npmjs.com/package/jquery

Composerの代わりにnpmyarnまたはWebPackを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top