如何全局使用php composer,php – 如何配置要全局安装的composer包?
更新:
我实际发布了这个包,所以你可以自己看问题.
我正在尝试制作一个小的CLI工具并将其与作曲家打包在一起.
下面是该程序的一个非常简化的版本,但它足以证明我遇到的问题.
该项目有一个依赖项和一个“二进制”文件
composer.json
{
"name": "naomik/yamldump",
"version": "0.2.0",
"bin": [
"bin/yamldump"
],
"require": {
"symfony/yaml": "2.5.3"
}
}
斌/ yamldump
#!/usr/bin/env php
// use Yaml namespace
use Symfony\Component\Yaml as Yaml;
// autoload
require_once "vendor/autoload.php";
// read yaml
$yaml = file_get_contents(sprintf("%s/%s", getcwd(), $argv[1]));
// create parser
$parser = new Yaml\Parser();
// parse the yaml
var_dump($parser->parse($yaml));
因此,当我在全球范围内安装它时,我就明白了
$composer global require naomik/yamldump=dev-master
文件已安装到
>〜/ .composer / vendor / bin / yamldump – > ../naomik/yamldump/bin/yamldump
>〜/ .composer / vendor / naomik / yamldump /
>〜/ .composer / vendor / symfony / yaml /
这是一个问题,因为我不打算全局安装symfony / yaml,我的软件包的vendor / autoload.php无法在正确的位置找到Yaml软件包.
我不介意symfony / yaml是全局安装的,但是对我来说有意义的是,composer global require会安装这样的包:
>〜/ .composer / vendor / bin / yamldump – > ../naomik/yamldump/bin/yamldump
>〜/ .composer / vendor / naomik / yamldump /
>〜/ .composer / vendor / naomik / yamldump / vendor / symfony / yaml /
毕竟,如果我有依赖于symfony / yaml = 2.5.3的Package A和需要symfony / yaml = 2.6.x的Package B怎么办?
如果composer global要求安装〜/ .composer / vendor / *的依赖项,那么每个全局需要的包都无法维护它自己的依赖项版本要求……
我知道这是一个令人费解的问题,但我真的不知道如何开始修复它.
目标
用户应该能够
$composer global require naomik/yamldump=dev-master
$yamldump sample.yml
错误
$yamldump sample.yml
Warning: require_once(vendor/autoload.php): failed to open stream: No such file or directory in /Users/naomik/.composer/vendor/naomik/yamldump/bin/yamldump on line 8
Fatal error: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.:') in /Users/naomik/.composer/vendor/naomik/yamldump/bin/yamldump on line 8
这个问题
这是黑色&白色:
我打算如何编写require“vendor / autoload.php”行并让它适用于本地安装的软件包和全局安装的软件包?
如何全局使用php composer,php – 如何配置要全局安装的composer包?相关推荐
- linux nginx rpm 安装配置,Centos下安装nginx rpm包
1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...
- 3项目里面全局用less变量 cli vue_vue-cli3配置使用vw实现移动端适配案例
前言:本demo是基于脚手架3创建的vue项目,主要演示的是如何使用vw实现移动端适配:并且在项目中如何引入自定义的less全局变量. 一. 配置vw适配: 1. 安装以下插件: npm instal ...
- 【愚公系列】2023年02月 WMS智能仓储系统-010.全局过滤、中间件、格式化配置
文章目录 前言 一.全局过滤 1.全局行为过滤的概念 2.全局行为过滤的注册方式 2.1 方法注册 2.2 控制器注册 2.3 全局注册 2.4 TypeFilter 和 ServiceFilter ...
- 刷题小程序【程序猿面试宝典】开发(二)| 页面创建、页面配置、全局配置
文章目录 1.创建页面 2.设置 tabBar 3.设置全局配置 window 4.设置页面相关配置 5.自定义全局CSS样式 6.自定义公共class样式 7.小试牛刀,全局设置页面背景色 8.结束 ...
- ribbon源码分析之自定义配置、全局配置
在上一文EnableDiscoveryClient没用了?Zookeeper是怎么和springboot配合做服务注册中心的?讲过了zk是怎么做服务注册和服务发现的,同时在spring.factori ...
- vue.congfig.js配置less全局主题等样式变量
vue.config.js配置less全局主题等样式变量 在vue项目中创建vue.config.js文件,写入一下代码 module.exports = {css: {loaderOptions: ...
- uni - app 的 pages.json 文件页面配置与全局配置
1. 新建页面 pages 文件上右键新建页面 创建同名目录,注册 pages.json ,使用 scss 页面 页面新建完成: 且 pages.json 文件中已经注册,这个注册和 原生微信小程序 ...
- window php composer,Window下安装php composer
composer是一个php的依赖管理工具,类似JVM环境中的maven,虽然mave的功能比composer强大得多. 安装时由于php没有安装openssl扩展,出现如下问题: 解决方案:修改ph ...
- php使用composer安装目录,Composer基本安装与使用
一.下载composer.phar php -r "readfile('https://getcomposer.org/installer');" | php 下载结束,输入php ...
- php composer 安装,php composer的安装和使用
Composer 是 PHP 用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. 一.ph ...
最新文章
- web App libraries跟referenced libraries的一些问题
- mysql数据库有几种连接方法_几种常见的数据库连接方法
- ubuntu更改用户名密码
- Encoding非常用编码转换
- Mysql解压版配置环境等
- 1.1介绍线程和运行(Introducing Thread and Runnable)
- 移动应用UI设计模式pdf
- python模块_python模块介绍
- 什么是单页面应用SPA?和多页面应用的区别?
- char与signed char, unsigned char的区别
- iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (适配iOS12.1 ,iOS15的本地通知功能)
- task_struct结构
- 数据结构与算法是什么?
- android解锁屏幕大师,锁屏这样玩才高端 应用推荐《锁屏大师》
- 华为rh2288v2服务器系统,华为RH2288H V2服务器外部简介_华为 FusionServer RH2288 V2_服务器评测与技术-中关村在线...
- Docker 问题集锦(16) - ERROR: for * Cannot start service *: Could not attach to network
- 陶闯博士超级对话:互联网的终极进化——从物理世界到数实世界
- Java后端学习路线,零基础这样学
- 换晶振导致stm32串口数据飞码的解决办法
- python3 reverse() reversed()