我正在使用Windows,我从其Windows安装程序安装了composer。我想要做的是将DoctrineMigrationsBundle安装到我的项目中,所以我添加了
"doctrine/doctrine-migrations-bundle": "dev-master"
到项目中的composer.json
文件并运行
cd the project directory
php composer.phar update
但我得到的是:无法打开输入文件:composer.phar
我的整个composer.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"
}
}
你能帮我解决这个问题吗?
答案 0 :(得分:6)
正如@AhmedSiouani所说,错误告诉您他们找不到composer.phar
文件。
你可以做的一些事情:
Composer-SetUp.exe
并按照the downloads page上的说明安装Composer(滚动到“Windows Installer”); composer.phar
文件并将其放入您的项目中(不推荐); composer.phar
文件并将其放在PATH
环境变量 1 ; 下载composer.phar
文件并创建一个执行composer.bat
文件的composer.phar
文件。将下面的代码放入其中并将其保存在PATH
环境变量 1 中的目录中。
@echo off
php "path\to\composer.phar" %*
1 :您可以查看PATH
环境变量中的哪些目录
在你的cmd中运行echo %PATH%
您还可以将此文件所在的目录放在PATH
环境中。为此,请转到 Computer
(右键单击)&gt; Settings
&gt; Advanced Settings
&gt; Environments Variables
(在“高级”选项卡下)并使用您的目录路径设置PATH变量(或通过在路径之间添加;
来添加当前PATH变量的路径)。
答案 1 :(得分:2)
错误消息足够清晰,与您的composer.json
文件无关。
我认为您只需要将composer.phar
文件移动到项目目录中。
此外,一个可重复使用的解决方案是通过PATH环境变量调用它。
答案 2 :(得分:1)
我遇到同样的问题“无法打开输入文件:composer.phar”
修复:转到项目目录并运行以下命令
php -r "readfile('https://getcomposer.org/installer');" | php
并运行
php composer.phar install or php composer.phar update
这会很棒。
答案 3 :(得分:0)
我在fedora 17上工作我在控制台上运行它来下载 composer.phar :
$ curl -s https://getcomposer.org/installer | php
然后它现在正在工作。
答案 4 :(得分:0)
确保您的代码:
"kriswallsmith/assetic": "1.1.*@dev"
"doctrine/doctrine-migrations-bundle": "dev-master"
更改为:
"kriswallsmith/assetic": "1.1.*@dev",
"doctrine/doctrine-migrations-bundle": "dev-master"
注意添加一个,(逗号)。