ホームページ 開発ツール composer 最も包括的で詳細な Composer のインストールと構成のチュートリアル (win/linux)

最も包括的で詳細な Composer のインストールと構成のチュートリアル (win/linux)

Oct 27, 2021 pm 04:01 PM
composer

Windows および Linux での Composer のインストールと構成

はじめに: Composer は、PHP が依存関係を管理するために使用するツールです。プロジェクト内で依存する外部ライブラリを宣言すると、Composer がこれらの依存ライブラリ ファイルをインストールします。

(1) ウィンドウのインストール

1.1 Composer のダウンロード

Composer 公式 Web サイトから Composer.exe アプリケーションをダウンロード ( https://getcomposer.org/)

1.2 Composer のインストール

ダウンロードしたバージョンは Composer の最新バージョンであり、PATH 環境変数は自動的に設定されます, そのため、任意のディレクトリから Composer を呼び出すことができます

  • #ローカルの php 構成に従ってバージョンを選択してください#、次のステップでインストールします

    ##グローバル構成
  • ①「パス」を検索—>「システム環境変数の編集」を開く—” 「環境変数」

#②管理者ユーザー変数の設定


#1.3 インストール成功しました

# win+R 输入cmd 进入C:\Users\Administrator>composer
 ______
 / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
 /_/
Composer version 2.1.9 2021-10-05 09:47:38
ログイン後にコピー

(2)Linux インストール

2.1 Composer のダウンロード

**# 进入根目录下载** [root@VM-12-9-centos /] curl -sS https://getcomposer.org/installer | php
Composer (version 2.1.9) successfully installed to: //composer.phar
Use it: php composer.phar #下载成功#友情提示:下载因为是外网可能会出现请求失败的情况,耐心多尝试下就成功了
ログイン後にコピー
If

ダウンロード頻繁に失敗します
    、Alibaba Cloud イメージのダウンロードを使用できます
  • #このイメージは Packagist 公式とリアルタイムで同期されます。最新の Composer バージョンを使用することをお勧めします
[root@VM-12-9-centos /]curl -sS Mirrors.aliyun.com/composer/compos...


2.2 グローバル構成

# 复制composer.phar到/usr/local/bin/目录下生成composer的目录,方便全局使用[root@VM-12-9-centos /] mv composer.phar /usr/local/bin/composer
ログイン後にコピー
#2.3 ミラー ソースの置換

##海外の Web サイトは国内のリクエストでは非常に遅いため、国内のソースを置き換えてソースのダウンロードを高速化できます。国産の鏡は数多くありますが、一般的によく使われているものをいくつかご紹介しますので、用途に合わせてお選びください。

Alibaba Cloud Composer イメージ

[
推奨事項
    ]
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
ログイン後にコピー
  • 国产Cloud Composer イメージ
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
    ログイン後にコピー
  • Tencent Cloud Composer イメージ
    composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
    ログイン後にコピー
  • Huawei Cloud Composer イメージ
    composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
    ログイン後にコピー
  • 安长Cloud Composer イメージ
    composer config -g repo.packagist composer https://php.cnpkg.org/
    ログイン後にコピー
  • #2.4 インストール成功
    [root@VM-12-9-centos etc]# composer
     ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                      /_/
    Composer version 2.1.9 2021-10-05 09:47:38
    ログイン後にコピー

    ##(3) Composer コマンド

  • 3.1 バージョンの表示
    composer --version# 查看版本会看到当前版本以及更新时间[root@VM-12-9-centos /]# composer --versionComposer version 2.1.9 2021-10-05 09:47:38
    ログイン後にコピー

    3.2 バージョンアップ
    # 升级将默认升到最新版本composer self-update# **友情提示:** 版本升级命令将会从官方版本去下载composer,phar镜像,速度将受限!强烈建议全局配置加速镜像
    ログイン後にコピー

    3.3 診断コマンドの実行
    composer diagnose
    ログイン後にコピー

    3.4 キャッシュのクリア
    composer clear
    ログイン後にコピー

    3.5 プロジェクトの更新composer.lock
    composer update --lock
    ログイン後にコピー

    3.6 デバッグ
    # **Composer调试只需要在命令前加上-vvv就可以打印出错信息** # 例如下载laravel命名为blog的项目composer -vvv create-project laravel/laravel blog
    ログイン後にコピー

    3.7 インストールに依存するパッケージ
    # 该命令仅限在项目根目录操作
    composer install
    ログイン後にコピー

    3.8 依存パッケージの更新
    # 该命令仅限在项目根目录操作
    
    ### 更新所有依赖包
    composer update
    
    ### 更新指定依赖包
    composer update monolog/monolog
    
    ### 更新多个指定依赖包
    composer update monolog/monolog symfony/dependency-injection
    
    ### 根据通配符匹配更新依赖包
    composer update monolog/monolog symfony/*
    ログイン後にコピー

    3.9 依存パッケージの削除
    # 移除指定依赖包
    composer remove monolog/monolog
    
    # 根据通配符匹配移除依赖包
    composer remove monolog/monolog symfony/*
    ログイン後にコピー

    3.10 検索依存パッケージ
    # 搜索依赖包:输出包及其描述信息
    composer search monolog
    
    # 只搜索包:--only-name
    composer search --only-name monolog
    
    # 根据通配符搜索依赖包
    composer search mono*
    ログイン後にコピー

    3.11 依存パッケージの表示
    # **该命令仅限项目根目录使用**# 查看**当前项目**已安装的依赖包
    composer show
    
    # 根据通配符**当前项目**进行筛选
    composer show laravel*# 查看**当前项目**指定依赖包
    composer show laravel/tinker
    ログイン後にコピー

    (4) プロジェクトの使用法

    プロジェクト内で、私たちはパッケージやライブラリをダウンロードして更新するためにコンポーザーをよく使用しますが、使用中にさまざまな問題が発生することがよくあります。次に、一般的な問題について説明します。

    4.1 宝塔面板安装Composer

    composer 的安装需要php开启 putenv 函数 ,否则会安装失败!由于 putenv 函数可以设置特定的环境变量而被认为是一个潜在的安全漏洞,因此php在安装之初是默认禁止它的!

    • 删除禁用函数

    宝塔面板出于对于安全的考虑,自动禁用了一些函数;因为安装Composer也会用到相应的函数,我们应该先删除在安装 Composer 。          安装 Composer 需要删除 的 PHP 禁用函数:putenv()          友情提示: 在使用 Composer 的时候需要根据项目的php版本去做操作(安装多少个PHP版本就需要相对应删除),下图示范是根据 php-8.0 来操作的。

    • 非宝塔面板管理操作
    # 进入php.ini配置文件编辑--->搜索(输入 / 进入搜索模式,搜索disable_functions)# ---->依次删除putenv**### 第一步:查询php.ini路径** [root@VM-12-9-centos 74]# find / -name "php.ini"/www/server/php/56/etc/php.ini
    /www/server/php/80/etc/php.ini
    /www/server/php/74/etc/php.ini
    
    **### 第二步:依次编辑php.ini文件** : 删除函数putenvvim /www/server/php/56/etc/php.ini
    
    **### 第三步:搜索“disable_functions”** # ESC + :+ / + disable_functions 将会自动定位到指定位置disable_functions = passthru,exec,system,**putenv** ,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
    
    **### 第四步:保存文件并退出** ESC + :wq!
    ログイン後にコピー
    • 友情提醒

    宝塔是支持php多版本的,如果在不同版本的php中使用 composer ,只要开启php中的 putenv 函数即可!

    4.2 PHP项目使用

    • composer.lock已经存在

    使用场景: 由于下载代码或者git代码或者部署项目时会存在 composer.lock , 首先应该删除composer.lock

    # 项目中composer.lock已经存在,需要进行删除,再重新安装,安装成功后会重新生成composer.lock文件# 案例示范:**### 第一步:进入项目blog根目录** cd www\wwwroot\blog
    
    **### 第二步:删除composer.lock文件** # 删除请核对文件名后谨慎操作rm -rf composer.lock
    
    **### 第三步:重新composer安装项目所需包** composer install
    ログイン後にコピー

    (五)结尾

    提示: 不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!   

    原文地址:https://learnku.com/articles/62076                               

    以上が最も包括的で詳細な Composer のインストールと構成のチュートリアル (win/linux)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    クラフトCMSのキャッシングの問題を解決する:Wiejeben/Craft-Laravel-Mixプラグインの使用 クラフトCMSのキャッシングの問題を解決する:Wiejeben/Craft-Laravel-Mixプラグインの使用 Apr 18, 2025 am 09:24 AM

    CraftCMSを使用してWebサイトを開発する場合、特にCSSやJavaScriptファイルを頻繁に更新する場合、リソースファイルのキャッシュ問題が発生することがよくあります。古いバージョンのファイルがブラウザによってキャッシュされ、ユーザーが最新の変更を表示しないようにすることがあります。この問題は、ユーザーエクスペリエンスに影響を与えるだけでなく、開発とデバッグの難しさを高めます。最近、プロジェクトで同様のトラブルに遭遇し、いくつかの調査の後、プラグインWiejeben/Craft-Laravel-Mixが見つかりました。

    作曲家とlaravelcmsをすばやく構築する方法:mki-labs/エスプレッソの実践的な経験 作曲家とlaravelcmsをすばやく構築する方法:mki-labs/エスプレッソの実践的な経験 Apr 18, 2025 am 07:36 AM

    新しいLaravelプロジェクトを開発する際に、トリッキーな問題に遭遇しました。完全に機能的で簡単なコンテンツ管理システム(CMS)を迅速に構築する方法です。私は複数のソリューションを試しましたが、複雑な構成と不便なメンテナンスのためにすべてをあきらめました。 LaravelcmsパッケージMKI-Labs/Espressoを発見するまで、インストールが簡単であるだけでなく、強力な機能と直感的な管理インターフェイスも提供し、問題を完全に解決しました。

    コンポーザーを使用して依存関係注入を解きます:PSR-11コンテナインターフェイスの適用 コンポーザーを使用して依存関係注入を解きます:PSR-11コンテナインターフェイスの適用 Apr 18, 2025 am 07:39 AM

    大規模なPHPプロジェクトを開発する際に、一般的ではあるが難しい問題に遭遇しました。依存関係を効果的に管理し、注入する方法です。最初は、グローバル変数と手動注入を使用しようとしましたが、これによりコードの複雑さが増加するだけでなく、簡単にエラーが発生しました。最後に、PSR-11コンテナインターフェイスを使用し、作曲家の力を使用して、この問題をうまく解決しました。

    Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

    記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

    YIIフレームワークに基づくデータのバッチ処理の問題を解決するために作曲家を使用する方法 YIIフレームワークに基づくデータのバッチ処理の問題を解決するために作曲家を使用する方法 Apr 18, 2025 am 07:54 AM

    YIIフレームワークプロジェクトを開発するとき、データベースから大量のデータを取得する必要がある状況に遭遇することがよくあります。適切な測定が行われない場合、すべてのデータを直接取得すると、メモリオーバーフローが発生し、プログラムのパフォーマンスに影響を与える可能性があります。最近、大規模なeコマースプラットフォームでプロジェクトを扱っていたとき、この問題に遭遇しました。いくつかの研究と試験の後、私はついにPavle/Yii-Batch-Resultの拡張ライブラリを通じて問題を解決しました。

    Composerを使用してHTTP要求の問題を解決する方法:Yiche/HTTPライブラリの実用的なガイド Composerを使用してHTTP要求の問題を解決する方法:Yiche/HTTPライブラリの実用的なガイド Apr 18, 2025 am 08:06 AM

    開発中、HTTP要求が必要になることがよくあります。これは、データを取得したり、データを送信したり、外部APIと対話するためです。ただし、複雑なネットワーク環境に直面してリクエスト要件を変更すると、HTTPリクエストを効率的に処理する方法が課題になります。プロジェクトで問題に遭遇しました。リクエストを異なるAPIに頻繁に送信し、リクエストを記録して、その後のデバッグと分析を促進する必要があります。いくつかの方法を試した後、Yiche/HTTPライブラリを発見しました。 HTTP要求の処理を簡素化するだけでなく、動的ロギング機能も提供し、開発効率を大幅に改善します。

    作曲家を使用したJavaScriptエラー処理の問題を解決する方法 作曲家を使用したJavaScriptエラー処理の問題を解決する方法 Apr 18, 2025 am 08:30 AM

    複雑なWebアプリケーションを開発する際には、JavaScriptエラーを効果的に処理してログインする方法を開発する際に、困難な問題を抱えています。私はいくつかの方法を試しましたが、このライブラリDvasilenko/Alterego_toolsを見つけるまで、それらのどれも私のニーズを満たすことができませんでした。このライブラリの設置を通じて、この問題を簡単に解決し、プロジェクトの保守性と安定性を大幅に改善しました。作曲家は次のアドレスを通して学ぶことができます:学習アドレス

    Symfony/Consoleライブラリを使用して、効率的なコマンドラインインターフェイスを作成する実用的な経験 Symfony/Consoleライブラリを使用して、効率的なコマンドラインインターフェイスを作成する実用的な経験 Apr 18, 2025 am 07:30 AM

    プロジェクト開発では、毎日のタスクを簡素化したり、プロセスを自動化するためにコマンドラインツールを作成する必要があることがよくあります。ただし、美しくテストしやすいコマンドラインインターフェイスを作成するのは簡単ではありません。最近、コマンドラインツールを必要とするプロジェクトを開発しながら、この問題に遭遇しました。いくつかの調査の後、私はSymfony/Consoleライブラリを見つけました。これにより、コマンドラインインターフェイスの作成プロセスが大幅に簡素化されます。

    See all articles