フォルダにcomposerをインストールしたばかり/usr/bin
なので、そのフォルダから実行するphp composer.phar
と、composerに関するヘルプ情報が表示されます。しかし、他のフォルダから同じものを実行しようとすると、が表示されますCould not open input file: composer.phar
。
php composer.phar
どこからでも問題なく電話をかける方法は?
フォルダにcomposerをインストールしたばかり/usr/bin
なので、そのフォルダから実行するphp composer.phar
と、composerに関するヘルプ情報が表示されます。しかし、他のフォルダから同じものを実行しようとすると、が表示されますCould not open input file: composer.phar
。
php composer.phar
どこからでも問題なく電話をかける方法は?
グローバルインストールを実行できます(アーカイブガイド):
Composerは現在の作業ディレクトリで動作するため、システム全体にインストールすることができます。
- 次のようなパスのディレクトリに変更します
cd /usr/local/bin
- 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
composer
更新:ダウンロードできない、またはダウンロードしたくない場合があります/usr/local/bin
(ユーザー権限の問題やアクセス制限が発生している場合もあります)。この場合は、これを試すことができます。
curl -sS http://getcomposer.org/installer | php -- --filename=composer
chmod a+x composer
sudo mv composer /usr/local/bin/composer
アップデート2:Windows10およびPHP7の場合、このチュートリアル(アーカイブ)をお勧めします。個人的には、PHP 7.3VC15x64非スレッドセーフバージョンの前にVisualStudio2017x64用のVisualC++再頒布可能パッケージをインストールしました( PHP for Windowsページのサイドメニューで両方のバージョンを確認してください)。注意深く読んでください。おそらく、enable-extensionsセクションが(extension=curl
ではなくextension=php_curl.dll
)異なる可能性があります。チャームのように機能します、頑張ってください!
composer.pharは単独で実行でき、プレフィックスを付ける必要はありませんphp
。これで問題が解決するはずです(bashの$ PATHとphpのinclude_pathの違いにあります)。
バックグラウンド:
実際、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
質問:
それで、私をグーグルに導く問題は、私がMac OS Xターミナルで上記の行を実行したとき、それは許可が拒否されたと言った。次のように:
mv: rename composer.phar to /usr/local/bin/composer: Permission denied
答え:
次のリンクは私を魅力のような解決策に導きました、そして私はそれに感謝しています。私が見逃したのは、上記の「移動」コマンドラインの前の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: command not found
は、次のコマンドを使用してコンポーザーのエイリアスを作成します。したがって、グローバルに実行されます。
alias composer='/usr/local/bin/composer'
ここで実行すると、バージョン番号が続くcomposer -V
出力が得られます。Composer Version
これが誰かを助けることを願っています。
フォルダに移動して/usr/local/bin
拡張子を削除するだけです
sudo mv composer.phar /usr/local/bin/composer
このコマンドを実行するだけで、composerをグローバルにインストールできます
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
MACおよびLINUXの場合は、次の手順を使用します。
composer.pharが配置されているディレクトリをPATHに追加します。
export PATH=$PATH:/yourdirectory
次に、composer.pharの名前をcomposerに変更します。
mv composer.phar composer
簡単なグローバルインストールを実行して、どこからでも実行できます
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
https://getcomposer.org/doc/00-intro.md#globallyWebサイトでこの方法を推奨しています。Ubuntu14.04で問題なく動作しました。このように、例として行う必要はありません。作業している任意のディレクトリでphp compomser.phar show
行うだけです。composer show
他の場所から実行する場合は、プログラムに付属のコンポーザープログラムを使用できます。基本的には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
。Composerによって実行される一部のプロセスはcsh/tcshを使用して失敗するため、返されるものが-csh
bashに変更する必要があります。
変更するには、まず、を実行してサーバーでbashが使用可能かどうかを確認しますcat /etc/shells
。返されたリストにが表示されている場合は、をbin/bash
実行してデフォルトをbashに変更できますchsh -s /bin/csh
。
source ~/.bashrc
これで、この時点でComposerを実行できるようになりますが、通常、Ubuntuでは、またはを実行してBashスクリプトを取得することにより、すべてのセッションでスクリプトをロードする必要がありますsource ~/.bash_profile
。これは、ほとんどの場合、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
、期待どおりに動作するはずです。