当前位置: 首页 > 知识库问答 >
问题:

InvalidArgumentExc0019作曲家安装symfony

詹钊
2023-03-14

我试图安装symfony2.4.1从composer.json文件使用以下命令:

php composer.phar install

我从包含编写器的根目录运行此命令。json文件(var/www/projectname/)

有几个软件包安装正确。安装条令软件包时,出现以下错误:

InvalidArgumentException$from(/var/www/projectname/bin/doctor)和$to()必须是绝对路径。

这是我已经尝试过的:

  • 运行php编写器。phar自更新(现在是最新版本)

删除了整个项目(包括composer.json),并使用composer运行了一个新的安装。phar创建项目symfony/framework标准版/var/www/[PROJECTNAME]2.4.*--偏好区

有一条建议:我使用带有Windows7共享的虚拟盒使用vagrant。我正在通过ssh运行这些命令。

在这里您可以找到错误报告http://pastebin.com/rFk4vfnL

这是php--version的输出:

PHP 5.3.10-1ubuntu3.9 with Suhosin-Patch (cli) (built: Dec 12 2013 04:27:25)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

共有3个答案

薛华容
2023-03-14

据我所知(基于@jasper的答案),作曲家创建到bin文件夹的符号链接存在问题...这可能是由于文件系统不支持符号链接(主机的文件系统,然后与来宾共享),一个很好的测试是尝试在Linux框上运行流浪汉,看看问题是否仍然存在。

我能想到的解决这个问题的唯一方法是在来宾内部全局安装依赖项(这有点违背了使用流浪的观点)。

请注意,我没有要测试的windows计算机,但在使用samba共享和NTFS/FAT32文件系统时,符号链接问题曾经让我感到困惑。

柯书
2023-03-14

尝试使用此安装指令与更多参数:

$ php composer.phar create-project symfony/framework-standard-edition /path/to/webroot/Symfony 2.4.1
郏志诚
2023-03-14

请删除作曲家的缓存(~/.composer/cache/),然后重试。

也:

  • 您使用的是最新版本吗?composer.pharselfupdate
  • 您是否以用户身份运行作曲家,对/var/www/project ectname/中的所有内容都有写权限?

使现代化

Composer希望将原则脚本符号链接到您的bin目录中,而findShortestPath()在调用时似乎没有收到正确的路径。我以前从未见过这种情况:(

如果我理解正确的话,你正在一个"同步文件夹"中运行作曲家:

  1. 为什么你在客人身上运行作曲家,而不是在主持人身上?
  2. 你可以尝试运行作曲家(安装你的项目)在其他地方的客人?(不在同步文件夹中)这样,您可以排除它是否与Windows 7共享有关。

使现代化

因此,问题是在Windows7主机上的同步文件夹中运行composer。下一步是获取composer的源代码并调试LibraryInstaller::installBinaries()方法。首先检查realpath($binPath)这里是否没有返回false或类似的内容。

但我必须再次问:你为什么这样做?通常,人们会设置一个带有同步文件夹的“漫游”框,以便能够在主机上开发,并在来宾服务器上运行它(这类似于生产服务器)。所以通常情况下,会在主机上运行composer,而不是来宾上。。。

 类似资料:
  • 我已经按照Ubuntu 16.04网站上的说明安装了composer。在终端中发出“composer”命令后,它将给出通常的输出。安装composer后,我使用下载了composer 现在要安装Laravel,我必须添加。但是没有。我的主目录中的composer文件夹。有谁能告诉我为什么会这样?

  • 通过命令,编写器成功 和 当我用命令启动服务器时 我犯了以下错误 PHP警告:require(/opt/lampp/htdocs/Cake/vendor/autoload.PHP):无法打开流:第23行的/opt/lampp/htdocs/Cake/config/bootstrap.PHP中没有这样的文件或目录PHP致命错误:require():无法打开required'/opt/lampp/ht

  • 我无法安装doctrinecouchdbundle,返回: 使用包信息加载composer存储库 更新依赖项(包括要求开发) 您的需求无法解析为一组可安装的包。 问题1 > doctrine/couchdb odm捆绑包开发主机需要doctrine/couchdb odm@dev-找不到匹配的包。 潜在原因: > 包名中的一个错别字 根据您的最低稳定性设置,该软件包没有足够稳定的版本,请参阅htt

  • 我想安装Guzzle HTTP客户端以在我的PHP应用程序中使用。但是,无论出于何种原因,我都无法访问开发计算机上的 Packagist.org。我试图使用git存储库安装库;但是,由于库依赖链,我遇到了一个问题(它依赖于guzzlehttp / psr7,这取决于psr / http-message,我不确定如何摆脱Packagist)。 经过一些研究,我似乎可以通过PEAR安装旧版本。不幸的是

  • 我试图在Symfony 3.4中安装knp菜单包,但出现以下错误: 作曲家需要knplabs/knp-meno-bundle dev-master [无效参数异常] 版本dev-master的包knplabs/knp-meno-bundle有一个与您的PHP版本不兼容的PHP需求(5.5.9) 这很奇怪,因为我的PHP版本是7.1而不是5.5.9。 更新我的帖子以显示我的composer.json

  • 作曲家输出(更新后composer.phar) 问题1-索纳塔项目/intl捆绑包2.2的安装请求。*@dev- 我的composer.json: http://pastebin.com/5RcERC6T 我的phpinfo(): http://imageshack.us/f/109/ijoa.png/ 还有/etc/php5/cgi/php.ini: ... [intl]intl.default