85

フォルダにcomposerをインストールしたばかり/usr/binなので、そのフォルダから実行するphp composer.pharと、composerに関するヘルプ情報が表示されます。しかし、他のフォルダから同じものを実行しようとすると、が表示されますCould not open input file: composer.phar

php composer.pharどこからでも問題なく電話をかける方法は?

4

10 に答える 10

118

グローバルインストールを実行できます(アーカイブガイド):

Composerは現在の作業ディレクトリで動作するため、システム全体にインストールすることができます。

  1. 次のようなパスのディレクトリに変更します cd /usr/local/bin
  2. Composerを入手する curl -sS https://getcomposer.org/installer | php
  3. pharを実行可能にする chmod a+x composer.phar
  4. プロジェクトディレクトリに変更します cd /path/to/my/project
  5. 通常どおりにComposerを使用します composer.phar install
  6. オプションで、名前をに変更し 簡単にすることができますcomposer.phar composer

更新:ダウンロードできない、またはダウンロードしたくない場合があります/usr/local/bin(ユーザー権限の問題やアクセス制限が発生している場合もあります)。この場合は、これを試すことができます。

  1. ターミナルを開く
  2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
  3. chmod a+x composer
  4. 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)異なる可能性があります。チャームのように機能します、頑張ってください!

于 2013-05-18T18:49:47.310 に答える
60

composer.pharは単独で実行でき、プレフィックスを付ける必要はありませんphp。これで問題が解決するはずです(bashの$ PATHとphpのinclude_pathの違いにあります)。

于 2012-07-04T17:34:38.473 に答える
29

ターミナルを介してどこからでも(MacOS Xで)Composerを実行する方法

バックグラウンド:

実際、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

この回答が、視野を広げ、最終的に問題を解決するのに役立つことを願っています。

乾杯!

于 2015-03-18T07:58:26.450 に答える
21

まず、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

これが誰かを助けることを願っています。

于 2015-04-30T05:11:09.570 に答える
9

フォルダに移動して/usr/local/bin拡張子を削除するだけです

sudo mv composer.phar /usr/local/bin/composer
于 2017-02-11T11:55:08.687 に答える
8

このコマンドを実行するだけで、composerをグローバルにインストールできます

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
于 2015-10-05T08:45:19.390 に答える
3

MACおよびLINUXの場合は、次の手順を使用します。

composer.pharが配置されているディレクトリをPATHに追加します。

export PATH=$PATH:/yourdirectory

次に、composer.pharの名前をcomposerに変更します。

mv composer.phar composer
于 2017-01-12T08:44:28.657 に答える
2

簡単なグローバルインストールを実行して、どこからでも実行できます

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

于 2015-03-10T08:33:20.123 に答える
1

他の場所から実行する場合は、プログラムに付属のコンポーザープログラムを使用できます。基本的には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に追加します。

于 2013-06-07T05:08:56.777 に答える
0

これの一部は、サーバーが実行しているOSが原因である可能性があります。最近、Ubuntuを実行している新しいホスティング環境に移行しました。このエイリアスalias composer="/path/to/your/composer"を.bashrcまたは.bash_aliasesに追加すると、次の2つの理由で最初は機能しませんでした。

サーバーはデフォルトでbashではなくcshを実行していました。これがあなたのケースの問題であるかどうかを確認するには、を実行しますecho $0Composerによって実行される一部のプロセスはcsh/tcshを使用して失敗するため、返されるものが-cshbashに変更する必要があります。

変更するには、まず、を実行してサーバーで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 -vwhich composer、期待どおりに動作するはずです。

于 2018-10-04T12:01:06.417 に答える