【问题标题】:Requiring Gulp in composer.json在 composer.json 中需要 Gulp
【发布时间】:2021-01-03 11:31:07
【问题描述】:

如何在 composer.json 文件中要求 Gulp? composer (php>=7.0) 应该为尚未安装它们的开发人员安装 gulpgulp-sass(可能还有 npm)。可能的解决方案应该是添加到composer.json 文件中的代码。我想知道开发人员如何处理这种情况。他们如何创建适合作曲家的开发项目?

【问题讨论】:

  • 为什么会这样呢? Gulp 不是 PHP 包,但使用了完全不同的东西,而 Composer 并不打算这样做
  • PHP 开发人员可以使用 SASS 并从 Gulp 或其他软件包中受益来开发前端。我想知道开发人员如何处理这种情况。他们如何创建可用于作曲家的开发项目?
  • 我认为他们会在开始在前端工作之前安装 NPM,就像他们必须在开始后端之前安装 PHP 一样。多年来我在多个项目中工作过,我从未见过其他任何东西
  • 也许这种方法是唯一可靠的解决方案,但让我们看看 SO 用户在这方面的其他解决方案

标签: php wordpress laravel gulp composer-php


【解决方案1】:

NPM 有自己的文件packages.json 来保存依赖项。当您安装一个新项目时,您必须运行npm install,所有软件包都将安装在系统上的node_modules 文件夹中。但首先你必须自己安装 npm。每个系统都有自己的包管理器来安装 npm,大多数人从网站下载它以获取最新版本。

我认为从您的作曲家文件中运行所有内容并不常见。我认为这是可能的,但并不常见。

https://nodesource.com/blog/an-absolute-beginners-guide-to-using-npm/

【讨论】:

  • 在这个问题中,只有composer负责处理依赖并安装npm,所以可能的解决方案应该是安装npmgulp
  • 您写道它是为开发人员准备的。开发人员真的应该能够运行 2 个命令来安装项目;)在大多数情况下,您需要 npm 来运行其他命令。那么这有什么问题呢?否则,您必须在根目录中放置一个 Shell 脚本才能运行所有命令。
  • :) 谢谢,但她/他可以通过运行单个命令 composer install 来安装所有要求。这就是我们使用composer的原因。
  • @C2121 听起来您需要使用单独的任务系统。比如调用。将其设置为具有一个调用 composer 和调用的命令。我不确定,但作曲家可能有办法创建一个被调用的 php 脚本,但这将是“hacky”来调用 npm。
  • @RenéHöhle:是的。因此,我需要这个问题的最佳解决方案。这对于作曲家用户来说是一个常见的问题,但我还没有找到可靠、高质量的解决方案!
【解决方案2】:

Asset Packagist 可能是解决方案:https://asset-packagist.org/site/about

"repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
],
"require": {
    "npm-asset/gulp": "^4.0.2",
    "npm-asset/gulp-sass": "^4.1.0"
}

【讨论】:

  • 我刚刚测试过;有一个错误:Your requirements could not be resolved to an installable set of packages. 它需要一些依赖:- npm-asset/gulp-sass 4.1.0 requires npm-asset/node-sass
  • 我尝试要求其他依赖项,但没有办法匹配它们!比如:A 需要 Bv2,C 需要 Bv1
  • 我认为这是可能的,因为软件包可用,但事实上,这个已关闭的问题 (github.com/hiqdev/asset-packagist/issues/…) 似乎恰恰相反。我没有其他线索...
猜你喜欢
  • 2023-03-11
  • 2019-07-05
  • 2015-03-16
  • 1970-01-01
  • 2022-07-13
  • 2015-04-16
  • 2015-12-24
  • 2017-06-26
  • 2015-02-19
相关资源
最近更新 更多