Symfony 4 安装没有“public”文件夹。只有“vendor/”。(无法打开输入文件:bin/console)

Duh*_*lcı 2 php installation symfony4

我想学习 Symfony 框架,但我无法运行它。Composer 最新版本。我使用这个命令来安装框架,正如 Docs 所说。我使用这个命令在“project/”文件夹中启动服务器,但我得到了那个错误"Could not open input file: bin/console".

duhan@dbalci:/var/www$ composer create-project symfony/skeleton project


Installing symfony/skeleton (v4.0.5)
  - Installing symfony/skeleton (v4.0.5): Loading from cache
Created project in project
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
  - Installing symfony/flex (v1.0.78): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.7.0): Loading from cache
  - Installing symfony/console (v4.0.8): Loading from cache
  - Installing symfony/routing (v4.0.8): Loading from cache
  - Installing symfony/http-foundation (v4.0.8): Loading from cache
  - Installing symfony/yaml (v4.0.8): Loading from cache
  - Installing symfony/framework-bundle (v4.0.8): Loading from cache
  - Installing symfony/http-kernel (v4.0.8): Loading from cache
  - Installing symfony/event-dispatcher (v4.0.8): Loading from cache
  - Installing psr/log (1.0.2): Loading from cache
  - Installing symfony/debug (v4.0.8): Loading from cache
  - Installing symfony/finder (v4.0.8): Loading from cache
  - Installing symfony/filesystem (v4.0.8): Loading from cache
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/dependency-injection (v4.0.8): Loading from cache
  - Installing symfony/config (v4.0.8): Loading from cache
  - Installing psr/simple-cache (1.0.1): Loading from cache
  - Installing psr/cache (1.0.1): Loading from cache
  - Installing symfony/cache (v4.0.8): Loading from cache
  - Installing symfony/dotenv (v4.0.8): Loading from cache
Writing lock file
Generating autoload files

duhan@dbalci:/var/www$ cd project/
duhan@dbalci:/var/www/project$ php bin/console server:run
Could not open input file: bin/console
Run Code Online (Sandbox Code Playgroud)

只有“供应商/”文件夹,但我在教程中看到还有更多。
“ls -l”输出:

duhan@dbalci:/var/www/project$ ls -l
total 60
-rw-rw-r-- 1 duhan duhan  1231 Apr 13 13:30 composer.json
-rw-rw-r-- 1 duhan duhan 48230 Apr 13 13:30 composer.lock
-rw-rw-r-- 1 duhan duhan     3 Apr 13 13:30 symfony.lock
drwxrwxr-x 5 duhan duhan  4096 Apr 13 13:30 vendor
Run Code Online (Sandbox Code Playgroud)

iai*_*inn 5

似乎 Composer 还没有完全执行 symfony/flex 插件中的功能。我能想到的唯一原因是如果您全局禁用了插件(您可以通过运行composer config -l并查看它是否在no-plugins任何地方提及来诊断此问题)

我可以通过运行复制您的目录结构:

composer create-project symfony/skeleton project --no-plugins
cd project
composer install
Run Code Online (Sandbox Code Playgroud)

这将创建一个空的 symfony.lock 文件,但不会解压任何已安装的 Symfony 配方。

从这里,您应该能够通过运行来完成安装

composer fix-recipes
Run Code Online (Sandbox Code Playgroud)

在项目文件夹中。这将完成所有已安装配方的解包,包括创建缺少的目录结构。