我需要为我的SF2发行版安装一个软件包(DoctrineFixtures)。
当我跑步时
php composer.phar update
我得到了
- Updating twig/twig (dev-master 39d94fa => v1.13.0)
The package has modified files:
M CHANGELOG
M doc/filters/batch.test
M doc/filters/index.rst
M doc/filters/url_encode.rst
M doc/functions/index.rst
M doc/tags/index.rst
M doc/tests/index.rst
M lib/Twig/Autoloader.php
M lib/Twig/Compiler.php
M lib/Twig/CompilerInterface.php
-10 more files modified, choose "v" to view the full list
最后一位开发人员似乎编辑了供应商内部的大量文件。
为了解决这个问题,我尝试了
php composer.phar update <package_name>
但这似乎不起作用。如何从composer.json中只更新/安装一个库?
答案 0 :(得分:424)
要安装doctrine/doctrine-fixtures-bundle
版本2.1.*
且最低稳定度@dev
,请使用此代码:
composer.phar require doctrine/doctrine-fixtures-bundle:2.1.*@dev
然后只更新这个包:
composer.phar update doctrine/doctrine-fixtures-bundle
答案 1 :(得分:150)
如果您只想更新一些软件包而不是所有软件包,可以按以下方式列出:
php composer.phar update vendor/package:2.* vendor/package2:dev-master
您还可以使用通配符一次更新一堆包:
php composer.phar update vendor/*
source
安装软件包。dist
安装软件包。php
,hhvm
,lib-*
和ext-*
要求并强行安装,即使本地机器不满足这些。另请参阅platform
config option。require-dev
中列出的软件包(这是默认行为)。require-dev
中列出的安装包。自动加载器生成会跳过autoload-dev
规则。--prefer-stable
一起使用。答案 2 :(得分:8)
您基本上可以按照一个方法安装新软件包。
php composer.phar require
然后终端会要求您输入要搜索的包名称。
$ Search for a package []: //Your package name here
然后终端会询问包的版本(如果您想要最新版本,请将其留空)
$ Enter the version constraint to require (or leave blank to use the latest version) []: //your version number here
然后你只需按返回键。终端会要求另一个包裹,如果您不想再安装另一个包裹,只需按回车键即可完成。
答案 3 :(得分:6)
安装vs更新vs需求
假定以下情况:
composer.json
"parsecsv/php-parsecsv": "0.*"
composer.lock文件
"name": "parsecsv/php-parsecsv",
"version": "0.1.4",
最新版本为
1.1.0
。最新的0.*
版本是0.3.2
以下命令会发生这种情况:
composer install parsecsv/php-parsecsv
这将安装锁定文件中指定的版本0.1.4
composer update parsecsv/php-parsecsv
这会将软件包更新为0.3.2
。关于composer.json的最高版本。 composer.lock
中的条目将被更新。
composer require parsecsv/php-parsecsv
这将更新或安装最新版本1.1.0
。您的composer.lock
文件和composer.json
文件也会被更新。
答案 4 :(得分:4)
要确保作曲家将已安装的一个软件包更新到您在composer.json中设置的版本约束中的最后一个版本,请从供应商中删除该软件包,然后执行:
php composer.phar update vendor/package
答案 5 :(得分:4)
您可以使用以下命令来更新具有依赖性的任何模块
composer update vendor-name/module-name --with-dependencies
答案 6 :(得分:0)
只需使用
composer require {package/packagename}
喜欢
composer require phpmailer/phpmailer
如果软件包不在供应商文件夹中。.composer安装它,并且如果软件包存在,则composer将软件包更新到最新版本。
答案 7 :(得分:0)
因为您要安装特定的软件包 “我只需为我的SF2发行版(DoctrineFixtures)安装1个软件包。”
long ioctl_func(struct file *filep,unsigned int cmd,unsigned long arg)
{
int ret = 0;
struct ioctl_struct *my_struct = kmalloc(sizeof(struct ioctl_struct),GFP_KERNEL);
struct ioctl_struct *my_struct1 = kmalloc(sizeof(struct ioctl_struct),GFP_KERNEL);
switch(cmd)
{
case CMD_WRITE_STRUCT:
printk("Inside CMD_WRITE_STRUCT\n");
ret = copy_from_user(my_struct,(struct ioctl_struct *)arg,sizeof(struct ioctl_struct));
if(ret > 0)
{
printk("Error copy_from_user\n");
return -1;
}
printk("Structure received from user app:\nid = %d\nname = %s\ndata = %ld\n",my_struct->id,my_struct->name,my_struct->data);
return 0;
case CMD_READ_STRUCT:
printk("Inside CMD_READ_STRUCT\n");
my_struct1->id = 99;
strcpy(my_struct1->name,"Hello User!");
my_struct1->data = 65535;
ret = copy_to_user((char *)arg,my_struct1,sizeof(struct ioctl_struct));
if(ret)
{
printk("Error copy_to_user\n");
} return -1;
printk("Sent structure to user\n");
return 0;
default: printk("Invalid ioctl cmd\n");
break;
}
return 0;
}
足够