选择生成整个目录结构时,生成包的IOException

时间:2013-02-26 15:03:55

标签: symfony xampp bundle generator

我在Win7 xampp安装上试用Symfony2并且遇到了generate:bundle的问题。

php app/console generate:bundle --namespace=amd/HelloBundle --format=yml

如果我在问题中选择“是”(默认为“否”):

是否要生成整个目录结构

我收到以下消息:

[Symfony\Component\Filesystem\Exception\IOException]
Failed to touch H:/<pathToSymfony2Installation>/src//amd/HelloBundle/Resources/doc/index.rst

......当然其余的步骤都不遵循。创建了正确的命名空间和包目录,但是永远不会达到诸如自动'路由设置之类的东西。

选择放置源的目录时,我选择默认值:

Target directory [H:/<pathToSymfony2Installation>/src]:

(注意:没有斜杠)

我注意到在IO异常消息中有一个额外的斜杠(在'src'之后),无论我做什么,这是否会导致IO错误?

如果我输入一个尾部斜杠,则会添加另一个(正如您所料),如果我输入与默认值相同的 - 特别是省略一个斜杠,我仍然会在'src'后面和我之前得到两个斜杠命名空间和包名称。

1 个答案:

答案 0 :(得分:1)

我遇到了和你一样的问题。我终于找到了原因:FAT32

当我将XAMPP放在NTFS格式的驱动器上时,我没有遇到任何问题。 (驱动器C甚至任何便携式驱动器)但是,当我将XAMPP放在FAT32格式的驱动器上时出现错误。 (嗯......我猜一些PHP函数,比如touch(),在FAT32系统上无法正常工作)

此外,运行此命令时,我还在FAT32驱动器上遇到其他问题(实体未找到):

  

的Symfony&GT; php app / console doctrine:generate:entities xxxxxx

(注意:如果我禁用auto_mapping并在config.yml中明确设置“entity_managers:”,则可以修复) 但是,一旦我将XAMPP放回NTFS驱动器,auto_mapping就能正常工作。

因此,您可以检查您的文件系统。如果您的XAMPP放在FAT32驱动器上,请将其移至NTFS驱动器并再试一次。

祝你好运。