Php 如何删除未随Composer一起安装的软件包?
我已更新了我的开发环境的软件包,其中列出了一些软件包,但尚未安装 例如,我想删除条令包,但如果我使用此命令:Php 如何删除未随Composer一起安装的软件包?,php,composer-php,Php,Composer Php,我已更新了我的开发环境的软件包,其中列出了一些软件包,但尚未安装 例如,我想删除条令包,但如果我使用此命令: php /usr/local/bin/composer remove vendor/doctrine php /usr/local/bin/composer update 我得到了这个信息: 如何删除此软件包 编辑I: 我想解释一下最初安装的软件包以及我们做了什么 最初安装的软件包包括: 我想添加phpunit包,因此我修改了我的composer.json: "require
php /usr/local/bin/composer remove vendor/doctrine
php /usr/local/bin/composer update
我得到了这个信息:
如何删除此软件包
编辑I:
我想解释一下最初安装的软件包以及我们做了什么
最初安装的软件包包括:
我想添加phpunit包,因此我修改了我的composer.json:
"require-dev":{
"phpunit/phpunit": "6.*"
},
保存composer.json并执行以下命令:
php /usr/local/bin/composer remove vendor/doctrine
php /usr/local/bin/composer update
安装了phpunit,但出现了许多其他软件包,如:
教义,密克拉布斯,法里奥,PHP文档,phpspec,塞巴斯蒂安,泰瑟,韦伯莫扎特
安装phpunit是否需要这些软件包?如果没有,我如何删除它
编辑II:
composer.json
{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for Zend Framework zend-mvc applications",
"type": "project",
"license": "BSD-3-Clause",
"keywords": [
"framework",
"mvc",
"zf"
],
"homepage": "http://framework.zend.com/",
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": "^5.6 || ^7.0",
"zendframework/zend-component-installer": "^1.0 || ^0.3 || ^1.0.0-dev@dev",
"zendframework/zend-mvc": "^3.0.1",
"zfcampus/zf-development-mode": "^3.0",
"zendframework/zend-navigation": "^2.8",
"zendframework/zend-json": "^3.0",
"zendframework/zend-session": "^2.7"
},
"autoload": {
"psr-4": {
"Application\\": "module/Application/src/",
"Admin\\": "module/Admin/src/",
"Usuario\\": "module/Usuario/src",
"Pedido\\": "module/Pedido/src"
},
"classmap": ["vendor/Demo/library"]
},
"autoload-dev": {
"psr-4": {
"ApplicationTest\\": "module/Application/test/"
}
},
"require-dev":{
"phpunit/phpunit": "6.*"
},
"extra": [],
"scripts": {
"cs-check": "phpcs",
"cs-fix": "phpcbf",
"development-disable": "zf-development-mode disable",
"development-enable": "zf-development-mode enable",
"development-status": "zf-development-mode status",
"post-create-project-cmd": [
"@development-enable"
],
"serve": "php -S 0.0.0.0:8080 -t public/ public/index.php",
"test": "phpunit"
}
}
您的
composer.json
导致安装原则/实例化器(phpunit
的一个依赖项,它是phpunit
的一个小型轻量级实用程序,用于在PHP中实例化对象,而不调用其构造函数)
您尚未安装Doctrine。Doctrine几乎可以肯定是您的其他软件包之一的依赖项。如果愿意,您可以通过删除供应商
并执行composer安装
来确认这一点。很可能它会马上回来。谢谢你的回答。我已经更新了我的原始帖子。{“require”:{“条令/orm”:“*”}然后运行composer update,然后再次删除并运行composer update请阅读我的编辑I。我不想安装条令。谢谢。@JoséCarlos您的根本问题是,您需要停止在供应商
中闲逛。你不需要手动在那里翻找,里面的任何东西都在那里,因为它应该在那里,这是基于你的composer.json
所说的应该在那里。好吧,我明白了。。。但是现在,如果我试图通过编写命令访问phpunit,我得到的响应是“phpunit”不存在,如果我想安装,请使用“sudo apt get install phpunit”。。。我什么都不懂。仅在composer.json中调用phpunit进行配置是不够的?使用composer安装phpunit会将其可执行文件放在应用程序本身的vendor/bin/phpunit
-只需运行它,而不是phpunit
。它不会全局安装,这就是您使用apt get
的目的,或者使用Composer进行全局安装: