gpt4 book ai didi

PHP Composer - 设置供应商目录

转载 作者:可可西里 更新时间:2023-11-01 12:30:16 25 4
gpt4 key购买 nike

我在为 Yii2 应用程序配置供应商路径时遇到问题。我在从 Yii2 基本应用程序模板获得的 composer.json 文件中添加了几行。我只想更改供应商 Assets 的位置。

以下是我对文件所做的更改,但出现此错误:

The file or directory to be published does not exist: /path/to/app/vendor/bower/jquery/dist

但是我希望将特定 Assets 发布到:

/path/to/vendors/bower/jquery/dist

无论我做什么,我仍然会收到该错误消息。我怀疑这是 Yii2 问题而不是 Composer 问题,但我不确定。有人有什么想法吗?提前致谢。

文件...

索引.php

// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require('/path/to/vendors/autoload.php');
require('/path/to/vendors/yiisoft/yii2/Yii.php');

$config = require(__DIR__ . '/../config/web.php');

(new yii\web\Application($config))->run();

Composer .json

{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Project Template",
"keywords": ["yii2", "framework", "basic", "project template"],
"homepage": "http://www.yiiframework.com/",
"type": "project",
"license": "BSD-3-Clause",
"support": {
...
},
"minimum-stability": "dev",
"config": {
"process-timeout": 1800,
"vendor-dir": "/path/to/vendors"
},
"require": {
"fxp/composer-asset-plugin": "~1.0",
...
},
"extra": {
"asset-installer-paths": {
"npm-asset-library": "../../includes/vendors/npm",
"bower-asset-library": "../../includes/vendors/bower"
}
}
}

最佳答案

原来有一个简单的解决方案:如果您想更改供应商 Assets 的位置,那么您必须遵循以下简单步骤:

  1. 在您的 composer.json 文件中包含 composer-asset-plugin

    "require": {
    "fxp/composer-asset-plugin": "*"
    }
  2. 在您的额外配置中包含 composer-asset-plugin 指令。在你的 composer.json 文件中:

    "extra": {
    "asset-installer-paths": {
    "npm-asset-library": "../../path/to/vendors/npm",
    "bower-asset-library": "../../path/to/vendors/bower"
    }
    }
  3. 将供应商位置添加到 composer.json 文件中的配置部分:

    "config": {
    "vendor-dir": "../../path/to/vendors"
    }
  4. 更新 web/index.php 以指向新的供应商位置:

    require(__DIR__ . '/../../../path/to/vendors/autoload.php');
    require(__DIR__ . '/../../../path/to/vendors/yiisoft/yii2/Yii.php');
  5. 在您的 config/web.php 中包含一个 vendorPath 定义:

    'vendorPath' => '../../../path/to/vendors',

这应该适用于 vanilla Yii2 基本模板。

关于PHP Composer - 设置供应商目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29457345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com