【问题标题】:Error in creating yii2 project with composer使用 composer 创建 yii2 项目时出错
【发布时间】:2017-07-25 11:39:22
【问题描述】:

我想在 Windows 10 中创建 yii2 项目。我确实使用composer create-projectcommand,但我反对错误。

这是命令提示符中的composer create-project命令:

当然我在composer global require "fxp/composer-asset-plugin:~1.2.0" 中遇到了同样的错误:

安装composer-setup.exe 后,我在文件夹C:/Users/Mohammad/AppData/Roaming/Composer 中没有composer.json 文件,并且我从文件夹C:/Users/Mohammad/AppData/Roaming/Composer 中的一个项目中复制了composer.json 文件。

这是我在文件夹C:/Users/Mohammad/AppData/Roaming/Composer 中的composer.json:

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Project Template",
    "keywords": ["yii2", "framework", "advanced", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": ">=2.0.6",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "franciscomaya/yii2-sceditor": "dev-master",
        "kartik-v/yii2-widget-sidenav": "*",
        "mohammad-mahdy/yii2-jdate": "*",
        "2amigos/yii2-ckeditor-widget" : "*",
        "2amigos/yii2-gallery-widget": "~1.0",
        "romka-chev/yii2-swiper" : "*",
        "kartik-v/yii2-widgets": "*",
        "kartik-v/yii2-grid": "@dev",
        "yiisoft/yii2-imagine": "*",
        "omnilight/yii2-shopping-cart": "*",
        "fxp/composer-asset-plugin": "^1.0"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"

    },
    "config": {
        "process-timeout": 1800
    },
    "extra": {
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

请帮我解决它。

【问题讨论】:

  • 你忘记安装composer asset plugin了吗?
  • 我在composer global require "fxp/composer-asset-plugin:^1.2.0" 命令中有同样的错误
  • 我不明白......你说当你在控制台中运行composer global require "fxp/composer-asset-plugin:^1.2.0" 命令时,你会得到关于 bower-asset/jquery 的错误?
  • 是的。我收到有关 bower-asset/jquery 的错误。
  • 您必须向我们展示您在控制台中运行此命令的方式,因为您无法获得有关 jquery 的错误。

标签: yii2 composer-php yii2-advanced-app yii-extensions yii2-basic-app


【解决方案1】:

在我的 Windows 10 系统中使用 composer 安装 yii2 项目没有问题。删除C:\xampp\htdocs内的basicyii2Basic文件夹,按照以下步骤顺利安装。

  1. 检查作曲家是否安装在您的系统上。您可以通过在命令行中键入 composer 并按 Enter 来检查这一点。如果 composer 安装成功,你会看到这样的屏幕。

  2. 下一步是安装Composer Asset Plugin。在此之前您需要从C:/Users/Mohammad/AppData/Roaming/Composer 中删除文件夹composer(如果有的话)。然后运行以下命令进行安装。

composer 全局需要 "fxp/composer-asset-plugin:~1.2.0"

  1. 现在导航到您希望维护源代码的目录。在您的情况下,它会是

cd C:\xampp\htdocs

  1. 现在要安装基本应用程序模板,请运行以下命令。

composer create-project yiisoft/yii2-app-basic basic 2.0.10

在此过程中,您可能会看到如下所示的屏幕,要求您输入令牌。

这很正常,只需登录您的 github 帐户并粘贴给定的url 以生成令牌。然后粘贴复制的令牌以继续安装。有时可能会要求您输入您的 github 用户名和密码,这些是正常的,只需按照步骤操作即可。

如果问题仍然存在,请检查 composer.json 中的内容

我的composer.json 中的内容如下所示

{
    "require": {
        "fxp/composer-asset-plugin": "^1.2.0"
    }
}

【讨论】:

  • 我在 C:\xampp\htdocs 内没有像 basic 这样的文件夹。你的意思是文件夹yii2Basic
  • 我在运行composer global require "fxp/composer-asset-plugin:~1.2.0" 命令时遇到同样的错误。
  • 请删除 yii2Basic 并按照我上面给出的步骤重试
  • 在给定命令 composer global require "fxp/composer-asset-plugin:~1.2.0" 时,您能否发布错误图像
  • 我发布了图片。
【解决方案2】:

转到文件夹:

C:/Users/Mohammad/AppData/Roaming/Composer

并编辑composer.json 文件。

确保没有不必要的条目(如非全局包)。

例如我的全局 composer.json 看起来像这样:

{
    "require": {
        "fxp/composer-asset-plugin": "1.2.0",
        "codeception/codeception": "^2.2"
    }
}

删除不应该存在的内容后保存并在控制台中运行

composer global update

您可能已经在全球范围内安装了一些像 Yii 2 这样的软件包,这就是您收到此错误的原因。

如果一切正常,您可以转到项目文件夹并重试安装 Yii 2(在安装这样的本地项目时不要使用global)。

【讨论】:

  • @Bizley 非常感谢你,你真的帮助了我。我很感激你。
  • @Bizley 还有一个问题,我是否需要在system variable 上添加项目路径?
  • @MohammadAghayari no.
  • @Bizley 请在此页面上查看我的其他问题:stackoverflow.com/questions/40554857/…
【解决方案3】:

如果你不想使用插件来创建 Yii2 项目,你可以尝试固定 Bower 一:

Basic Template:

composer create-project --prefer-dist yidas/yii2-app-basic

Advanced Template

composer create-project --prefer-dist yidas/yii2-app-advanced

使用固定的 Bower 供应商,这可以防止您的 Composer 错误。

参考yidas/yii2-composer-bower-skip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2018-09-25
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 2020-01-16
    相关资源
    最近更新 更多