Questions tagged «composer-php»

Composer是PHP编程语言的应用程序级程序包管理器。它提供了一种用于轻松管理基于PHP的项目依赖项(库)的标准格式,并且受到Node.js的“ npm”和Ruby的“ bundler”的强烈启发。与[php]标记一起使用

2
作曲家需要分支名称
例如,我想要求: { "repositories": [ { "type": "git", "url": "https://github.com/google/google-api-php-client.git" } ], "require": { "google/apiclient": "v1-master" } } 在此示例中,我尝试google/apiclient在branch上执行require v1-master。我得到错误: [UnexpectedValueException] Could not parse version constraint v1-master: Invalid version string "v1-master"
106 composer-php 

3
作曲家需要本地包装
我有几个正在共同开发的库[Foo和Bar],但从技术上讲它们仍然是分开的。以前,我只是将autoloader重新定义为like "Foo\\": "../Foo/src",但是现在我已经向Foo添加了Guzzle依赖项,Bar翻转了它的盖子,因为它不是其依赖项之一。 目录结构: /home/user/src/ Foo/ src/ FooClient.php composer.json Bar/ src/ BarClient.php composer.json 理论上的自动加载声明:[在Bar / composer.json中] "require": { "local": "../Foo/composer.json" } 示例代码: require('vendor/autoload.php'); $f = new \Bar\BarClient(new \Foo\FooClient()); 如何在不设置本地Composer存储库的情况下解决此问题?我想将它们作为独立的软件包进行维护,只是一个软件包需要另一个软件包,并因此处理另一个软件包的依赖关系。 答案后编辑: 感谢infomaniac,我完成了以下工作: 初始化git repo: cd ~/src/Foo && git init && echo -e "vendor\ncomposer.lock" > .gitignore && git add ./ && git …
106 php  composer-php 

5
作曲者:如何找到软件包的确切版本?
假设我正在编写一个库A,该库依​​赖于另一个库,例如monolog。 我想安装最新版本的monolog,因此将其放在composer.json中: { "require": { "monolog/monolog": "*.*.*" } } 然后我跑$ 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": [ ] } 我需要版本,因为我想将我的库绑定到一组特定的版本,例如:如果我发现版本是1.3.5,请在我的composer.json文件中输入以下内容: "require": { "monolog/monolog": "1.3.*" } 有任何想法吗?


1
NPM / Bower / Composer-差异?
能向我解释的人之间的区别NPM,Bower和Composer。 他们都是包裹经理-对吗? 但是何时应该使用每个? 另外,每个文件似乎都带有一个json文件,这是否存储了您需要的所有软件包,以便可以通过cmd行安装它们?为什么需要此文件?
102 npm  composer-php  bower 

7
是否可以在不使用Composer的情况下安装Laravel?
我想知道是否可以每次都在不使用Composer(PHP包/依赖管理器)的情况下在任何Web服务器上安装或使用Laravel PHP框架吗? 我希望能够将我的应用程序拖放到任何Web服务器上(例如共享服务器,而无需访问命令行)。 如果我composer install是第一次(本地)运行,那么所有依赖项都应该存在,对吗? 然后,我应该能够将包含所有文件(包括供应商目录)的任何服务器拖放到任何服务器上?

4
作曲家-您的系统缺少所请求的PHP扩展名mbstring [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 我最近尝试通过Composer安装软件包,但是遇到了一个错误,the requested PHP extension mbstring is missing from your system. 我从中删除了分号php.ini,但仍然无法正常工作。我该怎么办?

5
composer.json中的require和require-dev部分之间有什么区别?
我开始使用作曲家,对此了解甚少,并且对Web应用程序开发有一点经验。 我只是遍历了Nettuts + Tutorial,所以我有关于作曲家的基本问题。 { "require": { "laravel/framework": "4.0.*", "way/generators": "dev-master", "twitter/bootstrap": "dev-master", "conarwelsh/mustache-l4": "dev-master" }, "require-dev": { "phpunit/phpunit": "3.7.*", "mockery/mockery": "0.7.*" }, "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] }, "scripts": { "post-update-cmd": "php artisan optimize" }, "minimum-stability": "dev" } 无论出现什么内容"require-dev",都只能通过下载和安装composer install --dev? 我阅读了作曲家的一些文档,但仍然不明白我们"require-dev"参与其中的原因是什么?是否因为我们要获取软件包的特定版本而不是始终获取最新的稳定版本?

13
为什么PHP Composer这么慢?
当我只做一个零依赖项的项目时,为什么PHP Composer这么慢?这是我运行的命令: composer init <逐步创建composer.json,定义0个零依赖项> composer install 等待3分钟(毫不夸张)。 作曲家所要做的就是拉入自动装带器并创建/vendor,为什么要花这么长时间?就此而言,为什么不继续执行此步骤composer init? 我是否可以使用配置选项来插入缓存的自动加载程序和供应商init?
99 php  composer-php 

16
在运行作曲家时禁用xdebug
运行时composer diagnose,出现以下错误: xdebug扩展已加载,这可能会使Composer变慢一点。建议在使用Composer时将其禁用。 如何仅在运行Composer时禁用xdebug?

6
如何在没有Composer的情况下安装Composer PHP软件包?
我正在尝试安装Coinbase PHP API,但它需要Composer: https://github.com/coinbase/coinbase-php 我正在寻找一种通用的PHP解决方案(也许是一个函数),使我无需使用Composer即可直接将composer软件包安装到服务器上。 我认为Composer的开发人员相信他们正在帮助人们,但是实际上有成千上万的初学者开发人员因“ Composer障碍”而无法学习网络开发。 如果有一个灵活的解决方案或某种方法可以在不使用Composer的情况下进行安装,那真的有帮助吗?我怎样才能做到这一点? 请不要以讽刺的评论回应。有些人不想使用Composer,而且我不明白为什么要为了进行Web开发而将我们放到特定的第三方软件中。
97 php  composer-php 

7
使用composer create-project安装特定的laravel版本
安装Laravel最快最简单的方法是通过composer命令。从laravel文档(http://laravel.com/docs/quick),它表明我们可以使用以下命令进行安装: composer create-project laravel/laravel your-project-name --prefer-dist 但是,当您运行以上命令时,它将获取最新版本的Laravel。如果要安装最新版本的4.0.x,如何控制它?或者,当4.2退出时是4.1.x吗?

8
作曲者:file_put_contents(./ composer.json):无法打开流:权限被拒绝
我正在尝试将Prestissimo安装到Ubuntu 16.04服务器,但这会导致错误: $ composer global require "hirak/prestissimo:^0.3" Changed current directory to /home/kramer65/.composer [ErrorException] file_put_contents(./composer.json): failed to open stream: Permission denied require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]... 我以用户身份登录kramer65,所以我不知道为什么它无法写入我的主文件夹。我对a的正常反应permission denied是使用sudo,但是作曲家然后总是说: 不要以root /超级用户身份运行Composer!有关详细信息,请参见https://getcomposer.org/root 知道我该如何解决吗?

7
如何强制作曲家重新安装库?
我正在使用ZF2骨架应用程序,它具有一个.gitignore,可以防止将外部库提交给git。在调试时,我喜欢去库的源代码中的各处更改内容,以了解它们的工作方式。如果这些是受版本控制的,则将它们恢复到原始状态非常容易。 如何强制Composer重新安装特定的框架,以便可以再次获得全新的-unmodified-副本? PS:请不要建议删除.gitignore文件,因为它存在是有原因的;这样可以防止我的第三方库进入我的应用程序存储库。我总是可以在自动部署期间安装它们。

3
如何指定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.*" } } 我正在使用Symfony 1,并且想在上安装它们plugins/sfGuardPlugin/。我该如何指定?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.