在没有项目目录的根目录中创建项目

create-project in root directory without the project's directory

假设你有这个文件结构:

/myapp/
/myapp/composer.phar

如果您 运行 create-project/myapp/ 的根目录中,例如 php composer.phar create-project foo/bar

这将创建这样的文件:

/myapp/
/myapp/bar/x.txt
/myapp/bar/y.txt
/myapp/composer.phar

是否可以省略 bar 目录,使其看起来像这样?

/myapp/
/myapp/x.txt
/myapp/y.txt
/myapp/composer.phar

我知道我可以在 运行 命令之前简单地向上移动一个目录,但是我使用的是 Vagrant/Docker 如果可以的话,它会更简单。

正如他们所说的“当其他一切都失败时,RTFM”:),所以:

$ composer create-project --help

你看到我们在这里得到了一些感兴趣的东西:

Usage:
create-project [options] [--] [<package>] [<directory>] [<version>]

参数是可选的(您可以练习)但并非无用,因此对于所有未明确提供的参数,Composer 将自行提供值。这还包括 <directory>,然后将从 <package> 名称“派生”。要解决您的问题,您只需要告诉 Composer 您希望它使用哪个目录,如果那应该是您当前的工作目录,只需传递 . (点),在 U*ix 世界中表示“当前目录” :

$ composer create-project some/package .

你应该很好。