さくらサーバーでcomposerをインストールしたけどコマンドが動かないよ?

PHPのフレームワークをインストールしようとするとcomposerってのを使ってインストールする方法がよく紹介されています。

今回はさくらレンタルサーバーでcomposerを使うまでの手順を紹介します。

composerとは

composerってまずどう発音するのか?

google翻訳で入力してしゃべらせてみました。

結果は「コンポーザー」に聞こえるけどネイティブでよく聞き取れない。

「コンポーサー」かも。

composerの意味は「作曲家」と出てきました。へー。

 

ここで使うcomposerは、PHPの開発で使うパッケージやライブラリを管理するシステムのことです。

パッケージというのは、既にある程度動く状態で作られて配布されているプログラムで、それを使うとプログラミングの一部を賄うことができます。

フレームワークとかもそれに含まれると思います。

チームで開発した場合、どのパッケージを使うか、どこにパッケージを設置するかがバラバラになってしまう可能性もあり、それを一元管理するためのcomposerのようです。

しかしそれだけでなく、composerは使うパッケージをコマンド1つで設置してくれる便利さも魅力の1つです。

 

僕は何年も1人で開発してきたので「チームで」という部分はどうでもいいし、composerも知りませんでした。

しかし近年の開発ではフレームワークを使うのにも「composerを使って~」と説明されることが多いし、実際composerを使った方が楽です。

さくらサーバーにcomposerインストール

インストール方法については色んな記事で紹介されていますのでさらっと。

 

前提としてcomposerはPHP5.3.2以上で無いと動かないようです。

既に動作しているプログラムがあるなら気をつけながらバージョンを変更してください。

 

さくらサーバーにSSHでログイン。

composerのインストールにコマンドを使うのでTeraTermなどでSSH接続してください。

ログイン直後は www ディレクトリがあるユーザーごとのホームディレクトリになると思います。

そこで次のコマンドを実行します。

これでインストールは完了です。

composer.phar というファイルが作成されているはずです。

composerを使う

ちょうどLINE BOTを作ってたので、LINE SDKをダウンロードしてみようと思います。

なんかの記事に載っていたのは上記のようなコマンドでした。

 

でもこれでは動きませんでした!泣

なんと composer というコマンドが無いと言われたのです。

composerコマンドを使うためにはインストールした composer.phar にパスを通す必要があるとか。

だってみんな「composer インストール」で検索してもそんなこと書いてないやん!!

 

僕はサーバーとかあんまり詳しくないし、レンタルサーバーなんであんまりややこしいことするのも怖いし・・・

エイリアスを設定すればいいらしいけどエイリアスってなんやっけ?(←プログラマー10年以上やってるやつの台詞では無いことは重々承知しています)

でも下のように書けばできました。

出来たのでパスとかエイリアスとかもうどうでもいいです(笑)

sdkをダウンロードするディレクトリに移動して、上記コマンドを実行するだけです。

「アカウント」の部分はお使いの環境に合わせてください。

まとめ

あまり優秀でないプログラマーを暴露するような記事になりましたけどなんとか出来ました!

sshでログイン後は、composer をインストールするコマンドを実行するだけでインストールは完了。

あとはパス通すかエイリアスを作成しcomposerコマンドを使えるようにします。

(僕のように)詳しいことが分からなければ上の例のように実行してください。

1 個のコメント

  • 為になる記事をありがとうございます。
    自分でもやってみて分かったので、
    共有させてください。

    基本的には貼ったリンクの記事と同じ事をします。
    ただこの記事では一点足りなくて、
    mvした後には「rehash」コマンドをすることで
    pathの再計算が行われる(?)ようです。
    後はパスが通ったのでどこからでも

    composer require hoge/hoge

    が使えます。
    ありがとうございました。

    https://brainlog.jp/server/post-2536/

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA