当前位置: 首页 > 知识库问答 >
问题:

安装laravel包使用作曲家不更新依赖[重复]

花稳
2023-03-14

我想在laravel 5.8安装zizaco/委托包,在他们的github页面,据说包括"zizaco/委托":"5.2. x-dev"在composer.json文件和运行作曲家更新命令。我这样做如下,并运行作曲家更新命令。

"require" : {
        "php" : "^7.1.3",
        "fideloper/proxy" : "^4.0",
        "laravel/framework" : "5.8.*",
        "laravel/tinker" : "^1.0",
        "laravel/ui" : "^1.2",
        "maatwebsite/excel" : "^3.1",
        "zizaco/entrust" : "5.2.x-dev"
    },

但在安装zizaco/trust包时,composer update命令会将所有包更新为最新版本(这些包我包含在上面的“require”字段中)。所以,如果在最新更新的软件包中有一些编码错误,那么整个网站可能会崩溃。仅供参考运行上述命令后,我看到本地git显示供应商文件夹下文件夹中许多文件的更改,这意味着包中有一些更新,对吗?。因此,建议运行composer安装命令,以便这些依赖项包不会更新到最新版本。

因此,在我的例子中,在composer.json的require字段中包含“zizaco/trust”:“5.2.x-dev”,如上所述,如果我运行composer install,那么它不会安装zizaco/trust包。此外,如果我运行composer require zizaco/trust 5.2.x-dev,那么它仍然会安装最新版本的依赖项包。

那么,我如何防止安装我在composer.json文件的“require”字段中包含的依赖项包的最新版本,而我只安装zizaco/trust包。

这样,我的Laravel5.8网站就不会因为故障代码或最新版本中的任何内容而将任何软件包更新到最新版本。处理这种情况非常重要,因为我们需要在laravel站点中安装各种需要的软件包。

共有3个答案

卜季萌
2023-03-14

步骤1:只需将包添加到composer.json文件中,然后运行以下命令:

composer install

作曲家安装将检查新包并安装它,此外,它将检查其他包中的任何弃用。

步骤2:

您可以直接在composer中运行命令

composer require package/name

例如,如果我需要安装firebase,请从项目根目录运行以下命令:

composer require firebase/php-jwt

从终端安装新软件包会自动将其添加到composer.json文件中,并且不会更新以前安装的软件包。

希望这有帮助!!

子车俊材
2023-03-14

运行作曲家安装。或者,您可以使用作曲家要求

Composer安装在composer.lock中查找确切的版本,仅在composer.json中查找丢失的包。

Composer update将在Composer.json中查找版本约束,这大致意味着“一系列版本”。这就是安装不同版本的原因。

龚奕
2023-03-14

您有两个选项:使用composer require指定要安装的软件包,或者手动更新composer.json文件并使用composer update[package]

作曲家要求

composer require zizaco/entrust:5.2.x-dev

这将自动更新您的composer.json文件并安装指定的版本。这不会更新任何其他依赖项。虽然文档指定包和版本应该用冒号分隔(),但我用空格测试了它,它似乎可以工作。

编写器更新[软件包]

composer update zizaco/entrust

如果手动更新了composer.json文件,则需要运行composer update并指定要更新的包。如果指定要更新的包,则只会影响该包。当您未指定要更新的包时,composer将查找所有包的更新。

关于Composer安装的注意事项

composer安装在这里对您没有帮助。如果您已经有了一个composer.lock文件(因为您刚刚尝试添加一个新包,所以您将安装该文件),composer install将只查看您的composer.lock文件,并尝试安装其中定义的所有内容。这意味着,如果手动更新composer.json文件并运行composer安装,它将不会安装您指定的新需求。

只有当您还没有composer.lock文件时,才会composer安装尝试解析依赖项并安装它们。

 类似资料:
  • 我正在开发一个laravel包(我们称之为包a),它需要另一个包(包B)https://github.com/dropbox/dropbox-sdk-php). 我做了一个B包的叉子(https://github.com/EmilioBravo/dropbox-sdk-php),在新的分支“fix64”中进行了一些更改,并在composer中添加my GitHub repo作为存储库。compos

  • 我试图更新作曲家,但得到错误 以下是错误日志的链接:https://pastebin.com/JNT7Wi15 Laravel版本:5.4 Php版本:PHP7.2。4-1乌本图16。04.1黛布。苏里。org 1(cli)(构建时间:2018年4月5日08:53:57)(NTS)版权所有(c)1997-2018 PHP Group Zend Engine v3。2.0,版权所有(c)1998-2

  • 我使用的是Laravel5.2。当我在CLI上执行composer update命令时。这是产生以下按摩 无需安装或更新生成自动加载文件 照明\Foundation\ComposerScripts-::后更新php工匠优化生成优化的类加载器 我不能更新我的当前版本,或者这是一个错误我是新来的拉威尔

  • 我已经按照Ubuntu 16.04网站上的说明安装了composer。在终端中发出“composer”命令后,它将给出通常的输出。安装composer后,我使用下载了composer 现在要安装Laravel,我必须添加。但是没有。我的主目录中的composer文件夹。有谁能告诉我为什么会这样?

  • 遇到作曲家的问题。我有一个主要的项目,我正在和一些我建立的小库一起工作,我想更容易地在我的项目之间共享。它们还没有准备好发布,所以我不想把它们添加到打包器中,但是当我需要1而需要另一个时,它会出错,除非我在我的主程序上也发布了那个自定义存储库composer.json 另外,第三级需求不能解决打包库 Main Project composer.json: 配置库:当在SimpleTable中运行作

  • 我试图安装2.4.1从文件使用以下命令: 我从包含文件(var/www/projectname/) 有几个软件包安装正确。安装条令软件包时,出现以下错误: InvalidArgumentException$from(/var/www/projectname/bin/doctor)和$to()必须是绝对路径。 这是我已经尝试过的: 运行php编写器。phar自更新(现在是最新版本) 删除了整个项目(