Composer Install 不能安装最新添加的 Package,而是要把所有的包重新下载? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TangMonk
V2EX    PHP

Composer Install 不能安装最新添加的 Package,而是要把所有的包重新下载?

  •  
  •   TangMonk 2019-09-03 15:41:25 +08:00 5466 次点击
    这是一个创建于 2243 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个有点坑啊,怎么不向 bundler, npm 学习下

    18 条回复    2019-09-13 14:13:27 +08:00
    carlosforppp
        1
    carlosforppp  
       2019-09-03 16:16:16 +08:00
    composer update
    skyjerry
        2
    skyjerry  
       2019-09-03 16:19:57 +08:00
    你要用 composer require
    silenceeeee
        3
    silenceeeee  
       2019-09-03 17:05:10 +08:00
    你说的应该是 composer require 的功能吧,建议过一下 composer 的教程啊
    xiaoriri666
        4
    xiaoriri666  
       2019-09-03 17:42:50 +08:00
    composer update 包名
    可以只更新指定的扩展啊,多看看教程
    yunye
        5
    yunye  
       2019-09-03 17:49:50 +08:00 via Android
    垃圾 PHP 趁早换语言
    TangMonk
        6
    TangMonk  
    OP
       2019-09-03 17:55:00 +08:00
    @carlosforppp #1
    @xiaoriri666 #4
    这个会把所有的包都 update
    TangMonk
        7
    TangMonk  
    OP
       2019-09-03 17:55:27 +08:00
    @silenceeeee #3
    @skyjerry #2

    如果包很多,得一个一个 require。
    TangMonk
        8
    TangMonk  
    OP
       2019-09-03 18:02:41 +08:00
    @yunye #5 PHP 还是有很多优点的,只是用过 ruby 之后用其他语言都有点强迫症
    yunye
        9
    yunye  
       2019-09-03 18:26:06 +08:00 via Android
    好歹先看下 composer 用法再来横评吧
    linxiaojialin
        10
    linxiaojialin  
       2019-09-03 18:51:03 +08:00
    1.你之前 composer install 后生成的 composer.lock 文件还在不在?在的话再次执行 composer install 不会自动更新所有包的.
    2.添加新包最好用 composer require.
    3.新包很多的话,也可以手动添加到 composer.json,再执行 composer install.
    4.记得.json 和.lock 文件同时提交 Git.
    5.PHP is the best language in the world.
    TangMonk
        11
    TangMonk  
    OP
       2019-09-03 19:45:23 +08:00 via iPhone
    @yunye 我看过,有人给 composer 反馈也不改

    https://github.com/composer/composer/issues/2969
    TangMonk
        12
    TangMonk  
    OP
       2019-09-03 19:49:05 +08:00 via iPhone
    @linxiaojialin 是这样,我在本地 require 了一些包,然后同步更新到服务器上,再执行 install,服务器上以前安装的包又安装一遍,这是没必要的步骤。
    cszchen
        13
    cszchen  
       2019-09-04 01:14:38 +08:00 via Android
    先找自身的问题,composer 不会重复安装,全世界都用的很开心
    cszchen
        14
    cszchen  
       2019-09-04 01:17:23 +08:00 via Android
    composer install 会根据你开发时安装的版本来安装包,避免兼容问题。如果要更新用 composer update xxx
    dvaknheo
        15
    dvaknheo  
       2019-09-04 09:30:08 +08:00
    @linxiaojialin .lock 要存在 GIT 里? 不对吧,这不是用于锁定不再重新下载的么。
    linxiaojialin
        16
    linxiaojialin  
       2019-09-04 10:08:25 +08:00
    @TangMonk 你是指 install 时,除了安装你添加的新包,还安装了其他包吗?不确定你的服务器是否有历史问题。不过猜测可能以下几种情况:

    1.composer 的 json 和 lock 异常。例如有人更新了 composer.json,但没把 composer install 后重新生成的 composer.lock 一同提交到 Git。所以现在执行 install 会更新 lock 文件,并同步之前没有更新的包。

    2.composer 的 json 和 lock 正常,但服务器上安装不同步。例如曾经更新过依赖包,而服务器上 git pull 代码后,没有执行 composer install。所以现在执行 install 会同步之前没有更新的包。

    3.composer 的 json 和 lock 正常,服务器上安装也同步的。但是你没有认真看过 composer 文档或英文不好,误以为“ Discovered Package ”是重新安装。

    以上问题,你都可以再执行 composer install 看看输出结果,可以多执行几次,看看是否有提示“ Nothing to install or update ”。
    linxiaojialin
        17
    linxiaojialin  
       2019-09-04 10:11:03 +08:00
    @dvaknheo 是的,要保证各个环境安装的依赖是一致的。
    lp7631010
        18
    lp7631010  
       2019-09-13 14:13:27 +08:00 via iPhone
    你怕是不知道版本不同会不兼容这码事吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     872 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:23 PVG 05:23 LAX 14:23 JFK 17:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86