我使用的是Windows,我从Windows安装程序中安装了composer。我想要做的是将DoctrineMigrationsBundle安装到我的项目中,所以我添加了
"doctrine/doctrine-migrations-bundle": "dev-master"
到项目中的composer.json
文件并运行
cd the project directory
php composer.phar update
但是我得到的是:无法打开输入文件:composer.phar
我的整个作曲家。Json文件
{
"name": "symfony/framework-standard-edition",
"description": "The "Symfony Standard Edition" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.1.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev"
"doctrine/doctrine-migrations-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
你能帮我解决这个问题吗?
正如@AhmedSiouani所说,错误告诉你他们找不到composer.phar
文件。
你可以做的事情:
- 下载
Composer-SetUp.exe
并按照下载页面上的说明安装Composer(滚动到"Windows Installer"); - 下载
composer.phar
文件并将其放入您的项目中(不推荐); - 下载
composer.phar
文件并将其放入PATH
环境变量1; 中的目录中。 下载
composer.phar
文件,创建执行composer.phar
文件的composer.bat
文件。将下面的代码放入其中并将其保存在PATH
环境变量1的目录中。@echo off php "pathtocomposer.phar" %*
1:您可以通过PATH
环境变量查看哪些目录在cmd中运行echo %PATH%
。
您还可以将该文件所在的目录放在PATH
环境中。要做到这一点,转到 Computer
(右键单击)> Settings
> Advanced Settings
> Environments Variables
(在'advanced'选项卡下)并将PATH变量设置为您的目录路径(或将路径添加到当前PATH变量中,通过在路径之间添加;
)。
错误信息足够清楚,它与您的composer.json
文件无关。
我想你只需要把你的composer.phar
文件移到你的项目目录。
另外,一个可重用的解决方案是通过PATH环境变量调用它。
我得到了同样的问题"无法打开输入文件:composer。phar "
修复:进入项目目录,运行以下命令php -r "readfile('https://getcomposer.org/installer');" | php
并运行
php composer.phar install or php composer.phar update
这将工作很棒。
我在fedora 17上工作,我在控制台上运行它来下载composer。phar :
$ curl -s https://getcomposer.org/installer | php
确保你的代码:
"kriswallsmith/assetic": "1.1.*@dev"
"doctrine/doctrine-migrations-bundle": "dev-master"
改为:
"kriswallsmith/assetic": "1.1.*@dev",
"doctrine/doctrine-migrations-bundle": "dev-master"
注意添加,(逗号)