composerを/usr/bin
フォルダーにインストールしたので、そのフォルダーからphp composer.phar
を実行すると、composerに関するヘルプ情報が表示されます。しかし、他のフォルダーから同じものを実行しようとすると、Could not open input file: composer.phar
が返されます。
どこからでも問題なくphp composer.phar
を呼び出す方法は?
composer.pharは単独で実行でき、php
をプレフィックスとして付ける必要はありません。これで問題が解決するはずです(bashの$ PATHとphpのinclude_pathの違いにあります)。
グローバルインストール を実行できます。
Composerは現在の作業ディレクトリで動作するため、システム全体にインストールできます。
cd /usr/local/bin
のようなパスのディレクトリに変更します- Get Composer
curl -sS https://getcomposer.org/installer | php
- pharを実行可能にする
chmod a+x composer.phar
- プロジェクトディレクトリへの変更
cd /path/to/my/project
- 通常どおりComposerを使用します
composer.phar install
- オプションで、
composer.phar
tocomposer
簡単にするために
Update:時々、/usr/local/bin
でダウンロードできない場合やダウンロードしたくない場合があります(一部のユーザーのアクセス許可の問題やアクセス制限があります)。この場合、これを試すことができます
curl -sS http://getcomposer.org/installer | php -- --filename=composer
chmod a+x composer
Sudo mv composer /usr/local/bin/composer
Update 2:Windows 10およびPHP 7の場合 このチュートリアル をお勧めします。個人的に Visual C++ Redistributable for Visual Studio 2017 x64 before PHP 7.3 VC15 x64 Non Thread Safeバージョン( PHP for Windows の両方のバージョンを確認してください)= =ページ、サイドメニュー)。注意深く読んでください。おそらく、enable-extensionsセクションが異なる可能性があります(extension=curl
ではなくextension=php_curl.dll
)。チャームのような作品、幸運を!
背景:
実際、getComposer Webサイトでは、次のcurlコマンドを使用してComposerをインストールすることを明確に述べています。
curl -sS https://getcomposer.org/installer |php
そして、それは確かに意図したことをします。そして、composer.pharをディレクトリ/ usr/local/bin/composerそしてcomposerは、ターミナルで次のコマンドラインを使用してグローバルに利用可能になります!
mv composer.phar /usr/local/bin/composer
質問:
それで、私をGoogleに導く問題は、Mac OS Xターミナルで上記の行を実行したときに、許可が拒否されたということです。次のように:
mv: rename composer.phar to /usr/local/bin/composer: Permission denied
回答:
link に従うと、私は魅力のような解決策に導かれ、私はそれに感謝しています。私がちょうど見逃したのは、上記の「移動」コマンドラインの前のSudoコマンドでした。現在、私の移動コマンドは次のとおりです。
Sudo mv composer.phar /usr/local/bin/composer
Password:
それはあなた自身を認証し、あなたが許可されているかどうかを確認するように直接促します。有効なパスワードを入力すると、移動が完了します。次の行を使用して、composerがグローバルにインストールされているかどうかを確認できます。
composer about
この回答があなたの視野を広げ、最終的にあなたの問題を解決するのに役立つことを願っています。
乾杯!
最初にcomposerに記載されているcomposer インストールドキュメント のようにインストールします。参考のためにここに追加しました。
curl -sS https://getcomposer.org/installer | php
そして、ファイルを「/ usr/local/bin」に移動します。
Sudo mv composer.phar /usr/local/bin/composer
composer -V
を実行してみてください。 Composer version
のような出力にバージョン番号が続く場合、composerが正常にインストールされています。
composer: command not found
のような出力が得られた場合、次のコマンドを使用して作曲家のエイリアスを作成することを意味します。したがって、グローバルに実行されます。
alias composer='/usr/local/bin/composer'
これで、composer -V
を実行すると、Composer Version
の後にバージョン番号が続く出力が得られます。
これが誰かを助けることを願っています。
このコマンドを実行して、composerをグローバルにインストールします
curl -sS https://getcomposer.org/installer | Sudo php -- --install-dir=/usr/local/bin --filename=composer
/usr/local/bin
フォルダに移動して、拡張子を削除するだけです
Sudo mv composer.phar /usr/local/bin/composer
MACおよびLINUXの場合、次の手順を使用します。
Composer.pharがあるディレクトリをPATHに追加します。
export PATH=$PATH:/yourdirectory
そしてcomposer.pharの名前をcomposerに変更します。
mv composer.phar composer
他の場所から実行するには、プログラムに付属のcomposerプログラムを使用できます。基本的にはbashスクリプトです。お持ちでない場合は、次のコードをテキストファイルにコピーするだけで作成できます。
#!/bin/sh
dir=$(d=$(dirname "$0"); cd "$d" && pwd)
if command -v 'cygpath' >/dev/null 2>&1; then
dir=$(cygpath -m $dir);
fi
dir=$(echo $dir | sed 's/ /\ /g')
php "${dir}/composer.phar" $*
次に、binフォルダー内にファイルを保存し、ファイル拡張子なしでcomposerという名前を付けます。次に、binフォルダーを環境変数fに追加します
これのいくつかは、サーバーが実行されているOSに起因する可能性があります。最近、Ubuntuを実行している新しいホスティング環境に移行しました。このエイリアスalias composer="/path/to/your/composer"
を.bashrcまたは.bash_aliasesに追加しても、最初は2つの理由で機能しませんでした。
サーバーはデフォルトでbashではなくcshを実行していました。これが問題であるかどうかを確認するには、echo $0
を実行します。返されるものが-csh
の場合、bashに変更する必要があります。csh/tcshを使用してComposerによって実行される一部のプロセスが失敗するためです。
これを変更するには、まずcat /etc/shells
を実行して、サーバーでbashが使用可能かどうかを確認します。返されたリストにbin/bash
が表示されている場合、chsh -s /bin/csh
を実行してデフォルトをbashに変更できます。
これで、この時点でComposerを実行できるはずですが、通常、Ubuntuでは、source ~/.bashrc
またはsource ~/.bash_profile
を実行してBashスクリプトを読み込み、すべてのセッションでスクリプトをロードする必要があります。これは、ほとんどの場合、Ubuntuが.profile
をデフォルトのスクリプトとしてロードするため、Bashスクリプトをロードしないためです。
セッションを開いたときにBashスクリプトをロードするには、これを.profileに追加してみてください(これは、Bashスクリプトが.bashrcの場合です。bash_profileまたはその他の場合は適宜変更します)。
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
テストするには、セッションを閉じてリロードします。正常に動作している場合、composer -v
またはwhich composer
を実行すると、期待どおりに動作するはずです。
簡単なグローバルインストールを実行して、どこからでも実行できます。
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
https://getcomposer.org/doc/00-intro.md#globally Webサイトはこの方法を推奨しています。 Ubuntu 14.04で問題なく動作しました。この方法では、例としてphp compomser.phar show
を実行する必要はなく、作業中のディレクトリでcomposer show
を実行するだけです。