标签: composer-php

require(vendor/autoload.php):无法打开流

我知道这个问题已被多次发布,但对我来说这似乎是一个不同的问题.

的确,这个错误

警告:require(vendor/autoload.php):无法打开流:第3行的C:\ xampp\htdocs\site_web\send_mail.php中没有此类文件或目录

致命错误:require():在第3行的C:\ xampp\htdocs\site_web\send_mail.php中打开所需的'vendor/autoload.php'(include_path ='C:\ xampp\php\PEAR')失败

出现在我的代码开头的这一行:

require 'vendor/autoload.php';
Run Code Online (Sandbox Code Playgroud)

所以,我想我的电脑里必须有一个/vendor/autoload.php文件(我已经安装了composer并运行composer require phpmailer/phpmailer).

于是,我找了使用此文件:dir /s autoload.php在Windows命令行,发现这里什么人C:\Windows\SysWOW64\vendor\autoload.php,

但对我来说,使用autoload.php没有看到syswow64文件夹,我没有看到我在这里缺少什么.

phpmailer composer-php

94
推荐指数
8
解决办法
31万
查看次数

NPM/Bower/Composer - 差异?

能向我解释的人之间的区别NPM,BowerComposer.

他们都是包裹经理 - 对吗?

但什么时候应该使用每一个?

此外,每个人都有一个随附的json文件,这是否存储了您需要的所有软件包,以便可以通过cmd行安装它们?你为什么需要这个档案?

npm composer-php bower

93
推荐指数
1
解决办法
4万
查看次数

Composer需要本地包

我有几个库[Foo和Bar]我正在开发音乐会,但在技术上仍然是独立的东西.以前我刚刚重新定义了自动加载器"Foo\\": "../Foo/src",但是现在我已经为Foo添加了一个Guzzle依赖项,Bar翻转它的盖子,因为它不是它的依赖项之一.

目录结构:

/home/user/src/
    Foo/
        src/
            FooClient.php
        composer.json
    Bar/
        src/
            BarClient.php
        composer.json
Run Code Online (Sandbox Code Playgroud)

理论自动加载声明:[在Bar/composer.json]

"require": {
    "local": "../Foo/composer.json"
}
Run Code Online (Sandbox Code Playgroud)

示例代码:

require('vendor/autoload.php');

$f = new \Bar\BarClient(new \Foo\FooClient());
Run Code Online (Sandbox Code Playgroud)

如何在不设置本地Composer仓库的情况下解决此问题?我想将它们作为单独的包维护,只需要另一个包,并因此处理其他的依赖.

回答后编辑:

感谢infomaniac,我做了以下事情:

初始化git repo:

cd ~/src/Foo && git init && echo -e "vendor\ncomposer.lock" > .gitignore && git add ./ && git commit -m "Initial Commit"
Run Code Online (Sandbox Code Playgroud)

添加了作曲家配置:

"require": {
    "sammitch/foo": "dev-master"
},
"repositories": [{
    "type": "vcs",
    "url": "/home/sammitch/src/Foo"
}],
Run Code Online (Sandbox Code Playgroud)

然后composer update!

php composer-php

89
推荐指数
3
解决办法
6万
查看次数

作曲家:如何找到包的确切版本?

假设我正在编写一个库A,这取决于另一个库,例如monolog.

我想安装最新版本的monolog,所以我把它放在composer.json中:

{
    "require": {
        "monolog/monolog": "*.*.*"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我跑了$ php composer.phar install.

我期待在composer.lock中找到安装的版本,但它不存在:

{
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
    "packages": [
        {
            "package": "monolog/monolog",
            "version": "dev-master",
            "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
        }
    ],
    "packages-dev": null,
    "aliases": [

    ],
    "minimum-stability": "dev",
    "stability-flags": [

    ]
}
Run Code Online (Sandbox Code Playgroud)

我需要这个版本,因为我想把我的库绑定到一组特定的版本,例如:如果我发现版本是1.3.5,在我的composer.json中,我想把这样的东西:

    "require": {
        "monolog/monolog": "1.3.*"
    }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

php package-managers dependency-management composer-php

88
推荐指数
7
解决办法
6万
查看次数

如何指定Composer安装路径?

我有这个定义:

{
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "symfony/sfGuardPlugin",
                "version": "4.0.2",
                "dist": {
                    "url": "http://plugins.symfony-project.org/get/sfGuardPlugin/sfGuardPlugin-4.0.2.tgz",
                    "type": "tar"
                }
            }
        }
    ],
    "require": {
        "symfony/sfGuardPlugin": "4.0.*"
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Symfony 1,我想安装它们plugins/sfGuardPlugin/.我该如何指定?

php symfony1 composer-php

88
推荐指数
3
解决办法
9万
查看次数

如何强制composer重新安装库?

我正在使用ZF2骨架应用程序,它有一个.gitignore,可以防止外部库被提交给git.在调试的过程中,我喜欢在图书馆的源代码中随处更改内容,以了解工作原理.如果这些是版本控制的,那么很容易将它们恢复到原始状态.

我如何强制Composer重新安装一个特定的框架,以便我可以再次获得一个新的 - 未修改的副本?

PS:请不要建议删除.gitignore文件,因为它出于某种原因; 它阻止我的第三方库进入我的应用程序的存储库.我总是可以在自动部署期间安装它们.

php zend-framework2 composer-php

83
推荐指数
7
解决办法
12万
查看次数

Composer - 系统中缺少所请求的PHP扩展名mbstring

我最近尝试通过Composer安装软件包,但是我从一个错误中the requested PHP extension mbstring is missing from your system. 删除了分号php.ini,但它仍然无法正常工作.我该怎么办?

php mbstring composer-php

83
推荐指数
4
解决办法
9万
查看次数

OSX -bash:composer:找不到命令

如果我输入"composer",我会收到上述错误消息.

我在我的macbook上做了:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)

全局安装Composer.

我不得不手动创建/ local/bin/composer目录,这可能导致错误?

php composer.phar
Run Code Online (Sandbox Code Playgroud)

如果我在.phar文件所在的代码目录中,则可以正常工作.

我该怎么做才能解决问题并在全球范围内运行作曲家?

我的〜/ .profile

export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
Run Code Online (Sandbox Code Playgroud)

〜:echo $ PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~: 
Run Code Online (Sandbox Code Playgroud)

macos composer-php

82
推荐指数
6
解决办法
11万
查看次数

作曲家在更新时被杀死

我遇到了问题,我试图在我的laravel 4项目中安装一个新包.但是当我跑步时,php composer.phar update我得到了这个:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
Run Code Online (Sandbox Code Playgroud)

我在互联网上找了问题,看到内存是问题,我想我没有足够的RAM可用,我已经检查了这个我有大约411mb免费.作曲家真的需要更多的内存吗?有谁可以帮助我吗?

谢谢

php laravel composer-php laravel-4

81
推荐指数
8
解决办法
7万
查看次数

非空PSR-4前缀必须以命名空间分隔符结尾

我正在尝试用Composer设置PSR-4,但我刚刚开始 A non-empty PSR-4 prefix must end with a namespace separator.

autoloadcomposer.json看起来像这样:

"autoload": {
    "psr-4": {
        "Acme\\models" : "app/models"
    }
},
Run Code Online (Sandbox Code Playgroud)

app/models 是空的.

我究竟做错了什么?我怎样才能解决这个问题?

composer-php psr-4

81
推荐指数
2
解决办法
3万
查看次数