タグ

composerに関するk-holyのブックマーク (38)

  • Composer2.0ついにリリース! - Qiita

    Original article:https://blog.packagist.com/composer-2-0-is-now-available/ もはやPHPには欠かせないパッケージマネージャであるComposerですが、2020/10/24にComposer2.0.0がリリースされました。 2012年のリリース以来初めてのメジャーバージョンアップということで、多くの改善や新機能が盛り込まれており、そして互換のない変更点もわずかに存在します。 以下は公式でもアナウンスされている、Jordi Boggianoによる紹介記事Composer 2.0 is now available!の日語訳です。 Composer 2.0 is now available! 1/ What's new? 何が新しくなったの? 変更点や改善点は非常に多岐にわたるので、全てを知りたい場合は変更履歴を確認して

    Composer2.0ついにリリース! - Qiita
  • Running composer from a browser · GitHub

    Clone via HTTPS Clone with Git or checkout with SVN using the repository’s web address.

    Running composer from a browser · GitHub
    k-holy
    k-holy 2017/09/22
    composer.jsonを用意してブラウザからcomposer installする方法。composer.pharからSymfony\Consoleコンポーネントを読み込んでHTML出力用に拡張したクラスを定義して、必要な環境変数を定義して実行。
  • Composerで低いバージョンの依存テスト - Qiita

    対象読者 この記事は主にcomposerのパッケージを開発しているパッケージメンテナーのための記事です。 低いバージョンの依存テストの必要性 composerで作成したパッケージを他のパッケージから利用する場合composer.lockは無視されます。 this lock file will not have any effect on other projects that depend on it. It only has an effect on the main project. 通常与えられた条件の最新のバージョンがインストールされます。テストは最新の依存だけをテストすることになり。^や~で指定した最低のバージョンのテストは行われません。 これが問題になるのは、他のパッケージが特定のパッケージの低いバージョンのものに依存していて、また他のパッケージではその高いバージョンのみにある

    Composerで低いバージョンの依存テスト - Qiita
    k-holy
    k-holy 2017/05/26
    これ、PHP5系/7系が混在する今の状況では重要ですね
  • ComposerでPHPの依存関係を管理する - Qiita

    モダンなPHPの依存管理(パッケージ管理)に既に欠かせないものとなったComposerの導入と運用方法について説明します。「仕事で使えるComposer」でもざっくりと紹介しましたが、今回はもうちょっとだけ詳細に書きます。 概要についてざっくりと知りたい型は、先にこちらのスライドをご覧ください。 Composerとは何か ComposerはPHPのパッケージ(ライブラリやツールなど)をインストールするためのツールです。英語ではComposer is a dependency manager.と説明されます。 ほかのプログラミング言語のエコシステムとして、RubyでのgemコマンドとBundlerを組み合せたもの、Node.jsのnpmに相当します。Composerはこの二つと比べても後発だけあって、それらの良いところが取り入れられたものです。 Packagist Packagist (Th

    ComposerでPHPの依存関係を管理する - Qiita
  • Composerのバージョン指定方法でのチルダ(~)とキャレット(^)の違い — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    要するにキャレットはセマンティックバージョニングに従って互換性が維持されるような範囲を指定するということですね。 ^1.1や^1.1.5の場合は、メジャーバージョンが変わらず互換性が維持される間、バージョンがあがります。 バージョン1.0未満のバージョンではマイナーバージョンの変更でも互換性が維持されない可能性があるので、そこはあがりません。 まあ、使ってるパッケージがセマンティックバージョニングにきちんと従っているかどうかはパッケージの作者によりますし、セマンティックバージョニングに従っているというパッケージでもバグで後方互換性が破られる可能性もあるわけですので、あまり信用しすぎないことをお薦めしますが。 ちなみに、その他のバージョン指定方法については、次の記事がわかりやすいです。 composerのバージョン指定方法 | QUARTETCOM TECH BLOG 参考 https://

    k-holy
    k-holy 2016/02/26
    ^の場合はバージョン1未満と1以上で扱いが変わるのか
  • 光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング

    はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。

    光遅い問題を克服してcomposerを10倍速くした話 | メルカリエンジニアリング
    k-holy
    k-holy 2016/02/02
    GitHubのリポジトリをウォッチしてたらえらい勢いでメールが来てて驚きましたわ
  • composerを速くするプラグイン・prestissimoを作った

    composerが遅くてお嘆きの日PHPerの皆さんこんにちは。 表題の通り、追加インストールするだけでcomposerが速くなるプラグインを作りました。 # インストール $ composer global require hirak/prestissimo # アンインストール $ composer global remove hirak/prestissimo インストールした状態でlaravel/laravelcreate-projectすると、26秒とかでダウンロード完了しました。Laravelは50個ぐらい依存パッケージがあり、同じ環境で普通にインストールすると5分ぐらいは最低かかるので、10倍以上速くなってます。 2016/1/13(水)にPHPBLT#2というイベントがあり、その中で同じデモをしてきました。 Composer並列化プラグイン #phpblt from

    composerを速くするプラグイン・prestissimoを作った
  • 開発環境と本番環境のPHPバージョンが違う状況で本番環境でcomposer installをした際にエラー

    前提 使用フレームワークはFuelPHP 開発環境はPHP5.5.9(Vagrant&Docker)、番環境はPHP5.4.45(さくらのレンタルサーバ) サードパーティライブラリはcomposerを使用、composer.json,composer.lockをバージョン管理に含めている デプロイサーバがあり、そこからデプロイができるようになっている デプロイはデプロイサーバでgit pullしたものをrsync番サーバに配布、その後番サーバ上でcomposer installでサードパーティライブラリをインストールする手順 composer.jsonのrequireに指定されている、nesbot/carbonに依存しているsymfony/translationがv3.0.0にバージョンアップした結果、PHPが5.5.9以上を要求されるようになった。 開発環境でcomposer i

    開発環境と本番環境のPHPバージョンが違う状況で本番環境でcomposer installをした際にエラー
    k-holy
    k-holy 2016/01/05
    symfonyコンポーネントで5.5.9以上とか要求されるの…いつか同じ罠にはまってしまいそう。composer.jsonでconfig.platform.phpにバージョン指定する、と
  • あんまり知られてないけど有用な composer の機能 - Qiita

    ※ 下記の内容はすべて公式マニュアルに書かれています ※ 社内向けに書いたので若干整合性が怪しい create-project 知られていないどころか超有名な機能ですが、尺稼ぎで create-project から。 フレームワークをいじってると 下記のコマンドでインストールします composer create-project symfony/framework-standard-edition my_project_name のような文言によく出くわします。 これがなにしてるかは http://qiita.com/DQNEO/items/74f4bb8fe447e4582a97 が詳しい。 要するに git で引っ張ってきてその中で composer install してるだけのようです。 使うことはあまりないと思うけど、覚えておくと便利。 autoloader-suffix

    あんまり知られてないけど有用な composer の機能 - Qiita
    k-holy
    k-holy 2015/12/11
    autoloader-suffix指定しとけばレンタルサーバとかコマンド叩けない環境でも扱いやすくなりそう
  • composer testでQAツールの実行 - Qiita

    概要 phpunit, phpcs, phpmdをcomposer testコマンドで簡単に実行できるようにします。 準備 ※ 現在のBEAR.Sundayのアプリケーションスケルトンはこの準備は完了していています。 composer.jsonに以下のエントリーを記述します。 "require-dev": { "phpunit/phpunit": "~4.8", "squizlabs/php_codesniffer": "~2.3", "phpmd/phpmd": "~2.3" }, "scripts" :{ "test": [ "php vendor/phpmd/phpmd/src/bin/phpmd src text ./phpmd.xml", "php vendor/squizlabs/php_codesniffer/scripts/phpcs", "php vendor/phpun

    composer testでQAツールの実行 - Qiita
    k-holy
    k-holy 2015/12/03
    こんな機能あったんだ
  • 「そんなself-updateで大丈夫か?」 Composer編 - CARTA TECH BLOG

    こんにちはこんにちは、 VOYAGE GROUPでBuild prayer*1として活動している@_nishigoriです。 pip, bundler, rebar 等 各プログラミング言語のビルドツールないしパッケージマネージャ等と呼ばれているツールを弊社でも利用していますが、 PHPでは依存管理ツールとしてComposerを利用しているプロジェクトがあります。 今回はComposer体のバージョニングについて紹介し、 利用する上での良い側面と悪い(と思われる)側面を紹介します。 はじめに Composerの入手 最新版 *2 Installer self-update リリースサイクル 効能 デメリット self-updateする日時によってrevisionが異なる(場合がある) ある日のself-updateで突然死 Tagging Versions Installer self-

    「そんなself-updateで大丈夫か?」 Composer編 - CARTA TECH BLOG
    k-holy
    k-holy 2015/11/10
    composer.json自体が特定バージョンに依存していると考えると、グローバルインストールしない方が良いのかな?
  • Composerの依存パッケージをオールインワンのpharにまとめるツール作った - Qiita

    あなた 「パッケージをcomposerで公開しました!よかったら使ってください!」 初心者 「composerって何?requireするだけの方法はないの?」 あなた 「えーそんなこと言われても…」 composerのインストール方法および使い方を教えるのもいいと思いますが、別の手段として単一ファイルをrequireするだけで済む方法も用意しておくと便利な場合もあるんじゃないかと思います。その際のPharパッケージ生成をちょっとだけ楽にするためのツールです。 mpyw/comphar インストール方法も上記に英語で記載してあるのですが、一応こちらにも日語で書いておきます。 インストール 1. Composerのグローバルインストールを実行 Packagistから落としてきます。 example@localhost:~$ composer global require mpyw/comph

    Composerの依存パッケージをオールインワンのpharにまとめるツール作った - Qiita
  • Composerで依存しあう複数のパッケージを同時開発する場合のTIPS(開発の流れ編) | QUARTETCOM TECH BLOG

    この記事を書くにあたって、これまで何度か読んだことのあったComposerのソースを再度読み直して理解しようとしてみました。ですが、Composerのソースってなんだか難しくて、分かった!という感触はまだまだつかめていません。Composerのソースがひどくスパゲティだ!なんてことはないのですが。 おそらくこれはソースの問題というよりも、私自身の、取り扱っている問題そのものに対する理解が浅いからなのだろうと、現時点では結論づけています。ひとまずComposerに登場する最も主要な構成要素を、図にまとめておきます。 ところで、前回の記事では、Composerがvendorディレクトリ配下のパッケージ内の状態をどのように管理しているのかを簡単に解説しました。 今回は、複数のパッケージを同時に開発する場合の流れを例にして解説します。 注:複数のパッケージを開発するときに、必ずこの流れでないといけ

    Composerで依存しあう複数のパッケージを同時開発する場合のTIPS(開発の流れ編) | QUARTETCOM TECH BLOG
  • Composerで依存しあう複数のパッケージを同時開発する場合のTIPS(基礎知識編) | QUARTETCOM TECH BLOG

    昨今のPHPを使った開発の現場では、パッケージ(プロジェクトで利用するライブラリ)の依存管理をComposerに任せて、packagistに登録されたOSSのパッケージや、Satis等で構築したプライベートなComposerリポジトリに登録した自社のパッケージを組み合わせて開発するスタイルになっていると思います。 このような開発で、自社のパッケージも積極的に作っていく場合、どうしても、1つのアプリケーションを開発しながら同時に複数のライブラリパッケージを修正するといったことが必要になってきます。 Composerを使うと、開発対象のアプリケーションの依存パッケージは、プロジェクトのvendorディレクトリ配下にすべて保存され、composer updateコマンドで更新などが行えます。複数のパッケージの開発を同時に進める場合は、基的にルートとなる1つのアプリケーション/パッケージのプロジ

    Composerで依存しあう複数のパッケージを同時開発する場合のTIPS(基礎知識編) | QUARTETCOM TECH BLOG
  • Composerを利用しているアプリケーションのinstall/update時に自動的に特定の処理を実行したい

    install、update前であれば、pre-install-cmd, pre-update-cmdを install、update後であれば、post-install-cmd, post-update-cmdを 利用することで可能なようです。 https://getcomposer.org/doc/articles/scripts.md 以下ドキュメントからそのまま抜粋しています。 composer.jsonを以下のようにして { "scripts": { "post-update-cmd": "MyVendor\\MyClass::postUpdate", "post-package-install": [ "MyVendor\\MyClass::postPackageInstall" ], "post-install-cmd": [ "MyVendor\\MyClass::warm

    Composerを利用しているアプリケーションのinstall/update時に自動的に特定の処理を実行したい
  • Composerで依存パッケージのcomposer.lockは使われるのか? — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    rootのcomposer.lockにバージョンが記載されていれば、composer installした場合は、その記載バージョンのパッケージがインストールされます。 では、依存パッケージにcomposer.lockがある場合は、どうなるのでしょう? 確認してみましょう。 現在、Ray.Diにはcomposer.lockが含まれています。そして、doctrine/annotationsのバージョンがv1.2.1になっています。 https://github.com/koriym/Ray.Di/blob/develop-2/composer.lock#L11 検証方法 まず、フォルダを作成し、rootのcomposer.jsonを作成します。 { "require": { "ray/di": "~2.0@dev" }, "minimum-stability": "dev", "prefer-

    k-holy
    k-holy 2015/01/05
    特に意識せず入れてたけど、テスト関連含めるならやはり入れた方が良さそう
  • Component Installer by RobLoach

    Component Installer for Composer Allows installation of Components via Composer. Usage To install a Component with Composer, add the Component to your composer.json require key. The following will install both jQuery and normalize.css: { "require": { "components/jquery": "1.9.*", "components/normalize.css": "2.*" } } Using the Component The easiest approach is to use the Component statically. Just

  • [php]本当は怖いcomposer (require-devの落とし穴について) · DQNEO日記

    composer.jsonの"require-dev"という仕組みには落とし穴があります。 使うときは十分気をつけましょう。 そもそも"require-dev"とは何か? 番環境で必要のない開発環境用のパッケージを記述する場合に使います。 { "require": { "symfony/http-foundation": "2.4.*", }, "require-dev": { "phpunit/phpunit": "3.7.*" } } 例えばこのように記述すると、番では"http-foundation"のみを使い、開発環境ではそれに加えて"phpunit"も使う、というようなことが可能になります。 うっかり"require-dev"パッケージを呼び出すコードを書いてしまうと事故になる。 例えばプロジェクトYAMLファイルを扱いたいと思って"symfony/yaml"を呼び出すコー

    [php]本当は怖いcomposer (require-devの落とし穴について) · DQNEO日記
    k-holy
    k-holy 2014/07/29
    アプリケーションコードにsymfony/yamlへの依存があるなら、それをcomposer.jsonに書き込むのが正道では
  • Symfony Security Monitoring

    PHP security vulnerabilities monitoring

    Symfony Security Monitoring
    k-holy
    k-holy 2014/06/23
    Security Advisories Checker CLI用ツールもあり https://github.com/sensiolabs/security-checker これは面白い / オンラインで試したらswiftmailer 5.0/5.1が引っ掛かったわ…
  • Heroku で Composer を使う時に気を付けたいこと

    HerokuPHP をサポートしたので、テストがてら Laravel アプリケーションをデプロイしてみました。 デプロイしたのは、Doctrine を利用するアプリケーションだったのですが、ローカルでは composer でインストールできるのですが、Heroku にデプロイするとインストールされないという現象が起こりました。 Laravel での Doctrine 使用 今回のアプリケーションでは、DBのテーブルスキーマ情報を読み込んで、動的に画面を作るという処理があり、そこで Doctrine の SchemaManager を使っていました。 Laravel で、Doctrine の SchemaManager のインスタンスを取得するのは簡単で、下記のメソッドを実行するだけです。 $manager = DB::connection()->getDoctrineSchemaMa

    k-holy
    k-holy 2014/05/23
    今時の疎結合なフレームワークだとよくありそう。アプリケーションレベルでの依存はちゃんと明示しろということかな。