chdir(): 没有那个文件或目录 (errno 2)

chdir(): No such file or directory (errno 2)

我在 运行ning composer install --working-dir=/path/to/directory

时遇到上述错误

如果您想知道:我的硬盘出现故障,所以我需要重新安装 Composer 以及……一切。安装 composer 后,导航到包含 composer.json 文件和 运行ning composer install 的目录将导致 composer 找不到 composer.json 文件的错误,因此 --working-dir旗帜。

该项目是一个 Laravel 4.2 项目。除了 vendor 文件夹外,我们在 git 存储库中拥有所有内容。我们认为只要 运行 composer install 世界上一切都会好起来的 - 事实确实如此。

我 运行 composer install --verbose 并收到以下内容:

Exception trace:
 () at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:149
 Composer\Util\ErrorHandler::handle() at n/a:n/a chdir() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:149
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.php:83
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer:43
 require() at C:\ProgramData\ComposerSetup\bin\composer.phar:25

如有任何想法,我们将不胜感激。不知道为什么我突然遇到这些问题。一两周前,一位同事能够运行所有相同的步骤而没有错误。

事实证明,主要问题是 gitbash 的起始目录。

我安装的时候把起始目录改成了c:\users\[me]\My Documents

即使这个目录有子目录,我也可以 cd 进入它们; 运行 ls 会产生 0 个结果。

我最终将起始目录更改为 c:\users\[me]\Documents,一切正常。 Composer 找到了 composer.json 文件并且所有其他命令都有效。吸取教训。