2016-08-23 183 views
1

enter image description here自从最近几周以来,我使用yii2框架。但是现在我正在和作曲家本身谈一些问题。作曲家更新没有依赖关系

只是为了信息,我使用Ubuntu 14.04

当我需要一些新的软件包/扩展,我做的作曲家用作曲家需要命令来添加。但我注意到,有时它会从我的供应商和项目中删除几个现有的软件包。

我试着用下面的命令。

composer require dmstr/yii2-adminlte-asset "*" 

composer require 2amigos/yii2-file-upload-widget:~1.0 

而且还尝试了一些使用谷歌搜索。

http://www.yiiframework.com/wiki/672/install-specific-yii2-vendor-extension-dependency-without-updating-other-packages/

但它不工作。

有没有办法在现有的yii 2项目中添加一个新的包/扩展名而不删除现有的包或没有任何作曲者更新命令?

Composer.json这个

{ 
    "name": "sganz/yii2-advanced-api-template", 
    "description": "Improved Yii 2 Advanced Application Template By Sandy Ganz, Original by Nenad Zivkovic", 
    "keywords": ["yii2", "framework", "advanced", "improved", "application template", "nenad", "sganz"], 
    "type": "project", 
    "license": "BSD-3-Clause", 
    "support": { 
     "tutorial": "http://www.freetuts.org/tutorial/view?id=6", 
     "source": "https://github.com/sganz/yii2-advanced-api-template.git" 
    }, 
    "minimum-stability": "dev", 
    "prefer-stable":true, 
    "require": { 
     "php": ">=5.4.0", 
     "yiisoft/yii2": "*", 
     "yiisoft/yii2-bootstrap": "*", 
     "yiisoft/yii2-swiftmailer": "*", 
     "nenad/yii2-password-strength": "*", 
     "mihaildev/yii2-ckeditor": "*", 
     "dmstr/yii2-adminlte-asset": "*" 
    }, 
    "require-dev": { 
     "yiisoft/yii2-codeception": "*", 
     "yiisoft/yii2-debug": "*", 
     "yiisoft/yii2-gii": "*", 
     "yiisoft/yii2-faker": "*", 
     "codeception/specify": "*", 
     "codeception/verify": "*" 
    }, 
    "config": { 
     "vendor-dir": "protected/vendor", 
     "process-timeout": 1800 
    }, 
    "extra": { 
     "asset-installer-paths": { 
      "npm-asset-library": "protected/vendor/npm", 
      "bower-asset-library": "protected/vendor/bower" 
     } 
    } 
} 

任何帮助将不胜感激。

+0

检查'作曲家要求')。它也可能是被删除的软件包是被更新的另一个软件包的子需求('composer require'自动运行'composer update')并且不再需要这个软件包。 –

+0

@Peh我很久以前就开发了一个现有的大型项目,现在当我尝试添加新的包时,它将删除一些现有的包。 –

+0

好的,你可以编辑你的问题并显示你的'composer.json'和一个被删除的软件包列表吗? –

回答

2

尝试

composer --no-update require dmstr/yii2-adminlte-asset:* 
0

为了避免其他分机只是下面的步骤卸载。

1) "dmstr/yii2-adminlte-asset" : "2.*" 
2) "2amigos/yii2-file-upload-widget": "~1.0" 

添加到composer.json文件的require部分。

2) php composer.phar update 

在Cmd中运行此命令。

0
  1. 你的问题是,这些被删除的包是不是在require也不在你composer.jsonrequire-dev部分。因此,我认为已删除的软件包以前是(012)中的任何其他软件包所需的,并且这些软件包的较新版本中这个要求已被删除。这应该是一个正常的行为,对您的项目应该没有问题!

  2. 由于@Bizley已经表现出可以添加的要求,而不更新旧的:

    如果您运行的是去除需要在你的`composer.json`包(前
    composer --no-update require dmstr/yii2-adminlte-asset:*