我想将https://github.com/timrwood/moment放入我的composer.json中以便于维护.
它不是一个官方的包装工程(当然,因为它不是PHP),但它包含一个packages.jsonfor nodejs.我能用这个composer.json吗?
我试过这个,但它不起作用:
{
"repositories": {
"timrwood/moment": {
"type": "git",
"url": "git://github.com/timrwood/moment.git"
}
}
}
Run Code Online (Sandbox Code Playgroud)
它会抛出一条错误消息,指出"在git://github.com/timrwood/moment.git的任何分支或标记中找不到有效的composer.json,无法从中加载包."
它缺少版本字符串来定义我想要使用的版本...
有人可以帮忙吗?
或者我不应该在这里使用作曲家,因为我混合JS和PHP?
我正在尝试打包一个模块。我有一个有效的 Composer 文件,并且可以使用 Composer 安装它,但只有当我指定它应该使用开发版本时(通过“@dev”版本指令或最低稳定性开发)。我在打包我的存储库以使其被视为主版本时遇到问题。
我找到了一个关于别名的作曲家文档,它似乎是为我的情况制作的,但我无法让它工作。这是我的composer.json的相关部分:
"extra": {
"branch-alias": {
"dev-master": "1.0"
}
}
Run Code Online (Sandbox Code Playgroud)
另外供参考的是我的主要项目作曲家文件中的要求:
"require": {
"misterglass/kohana-twig" : "1.*"
},
Run Code Online (Sandbox Code Playgroud)
作曲家的实际错误是:
问题 1 - 无法找到请求的包 misterglass/kohana-twig 1.*。
因此,我在Github存储库中有以下分支:(遵循“ git flow”)
我已经知道如何创建分支别名,例如针对发行版。从技术上讲,composer.json每次我添加一个新的功能分支时都可以删除该文件,然后在准备将其合并到中时将其提交回来develop,但这将非常烦人并且容易忘记。
我的问题:如何隐藏Packagist的要素分支?
文件autoload_psr4.php不包含“ autoload-dev”部分中的名称空间,仅包含“ autoload”部分中的名称空间。
当我的composer.json读取时
"autoload": {
"psr-4": {
"Namespace\\": "src/"
}
},
"autoload-dev": {
"prs-4": {
"Namespace\\Tests\\": "tests/"
}
}
Run Code Online (Sandbox Code Playgroud)
然后我跑
composer require vendor/namespace 1.0-dev
Run Code Online (Sandbox Code Playgroud)
我的/vendor/composer/autoload_prs4.php文件显示为
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Namespace\\' => array($baseDir . '/src'),
);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个具有以下结构的项目:
- src
----/ /* Relevant files */
- tests
----/ /* Irrelevant files */
- composer.json
- phpunit.xml
Run Code Online (Sandbox Code Playgroud)
该项目已在每次提交时发送给 packagist。但是,它正在发送测试文件。
我想忽略tests文件夹,这样当有人打电话时,作曲家就不会下载不必要的文件composer require my/package
这是我的composer.json 的内容:
{
"name": "my/package",
"description": "...",
"type": "library",
"license": "MIT",
"require": {
"php": ">=7"
},
"require-dev": {
"phpunit/phpunit": ">=5.4"
},
"autoload": {
"psr-4": {
"MyProject\\": "./src"
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为 Packagist 编写一个包,但我遇到了 Composer 的问题。安装后我需要将文件从我的包复制到项目根目录,但安装包后没有任何反应。
阅读 Composer 文档后,我发现我应该在事件 post-install-cmd 中的脚本部分中放入一个脚本到 composer.json 文件中。
所以,我将此添加到我的包 composer.json 文件中
"scripts": {
"post-install-cmd": [
"php -r \"copy('vendor/myvendor/mypackage/myfile', 'myfile');\""
]
}
Run Code Online (Sandbox Code Playgroud)
安装我正在做的包
$ composer require myvendor/mypackage --dev
Run Code Online (Sandbox Code Playgroud)
安装包后一切正常,但文件没有被复制,也没有显示错误。
我希望我的问题不是太模糊,但通过搜索无法得到正确的答案。
我有以下情况;我们正在开发一个项目,并通过 Composer 安装了某些依赖项。这些依赖项之一已经过时,需要进行一些修复和添加。我已在 GitHub 上分叉了此存储库并将其添加到 Packagist。
要处理代码,我需要它在我的项目中运行并从那里进行编辑以查看我的更改是否有效,但它位于vendor通过 Composer 安装的文件夹中。
通过 GitHub 直接在供应商文件夹中克隆此项目将不起作用,因为不会为其编写自动加载器。
到目前为止,我所做的是在该vendor文件夹中工作,然后将我的工作从那里复制并粘贴到 GitHub 文件夹并从那里推送,但逻辑上相当棘手。
如何处理嵌入到项目中的作曲家库,以便您可以从此文件夹提交更改?
这个问题似乎很常见,我已经浏览了很多与之相关的帖子,但没有任何效果,我快要疯了。奇怪的是,几周前它工作得很好,几个月以来我没有安装任何新东西......
\n\n设置 :
\n\n什么有效:
\n\n什么不起作用:
\n\n安装包
我无法使用 firefox 61.0.1(64 位)访问https://packagist.org/(不安全连接:MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT)
我在作曲家要求时遇到的错误:
\n\n[Composer\\Downloader\\TransportException]\nThe "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:\nerror:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed\nFailed to enable crypto\nfailed to open stream: operation failed \nRun Code Online (Sandbox Code Playgroud)\n\nphp -r “var_dump(openssl_get_cert_locations());” 返回这个:
\n\narray(8) …Run Code Online (Sandbox Code Playgroud) 如何修复 fzaninotto/faker packagist “这个包已被放弃,不再维护。没有建议更换包。” 在 composer 2.0.11 版本中,我使用了 php 8.0.0?