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

Composer未用于安装Yi2扩展

法弘壮
2023-03-14

我想安装一些yii2扩展,并想在yii2框架中使用它们。使用Composer时,我遇到了一个错误。

此外,我还尝试在composer中手动添加扩展并添加其内容。json仍然不起作用。

一些命令包括composer。phar文件名,我的主项目存储库中没有此文件。我尝试手动添加作曲家。phar正在使用composer命令,但仍然没有运行。

当我运行这个命令时,我得到了一个错误。

composer require dmstr/yii2-adminlte-asset "^2.1"

我犯了这个错误

Cannot create cache directory /home/kaushalendra/.composer/cache  /repo/https---asset-packagist.org/, or directory is not writable.     Proceeding without cache
Cannot create cache directory /home/kaushalendra/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/kaushalendra/.composer/cache/files/, or directory is not writable. Proceeding without cache
./composer.json has been updated
Cannot create cache directory /home/kaushalendra/.composer/cache    /repo/https---asset-packagist.org/, or directory is not writable.     Proceeding without cache
Cannot create cache directory /home/kaushalendra/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/kaushalendra/.composer/cache/files/, or directory is not writable. Proceeding without cache
 Loading composer repositories with package information
 Updating dependencies (including require-dev)
 Your requirements could not be resolved to an installable set of packages .
Problem 1- codeception/base 2.5.6 requires ext-curl * -> the requested    PHP extension curl is missing from your system.
- codeception/base 2.5.6 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- codeception/base 2.5.6 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- Installation request for codeception/base (locked at 2.5.6, required as ^2.4.0) -> satisfiable by codeception/base[2.5.6].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.3/cli/php.ini
- /etc/php/7.3/cli/conf.d/10-opcache.ini
- /etc/php/7.3/cli/conf.d/10-pdo.ini
- /etc/php/7.3/cli/conf.d/20-calendar.ini
- /etc/php/7.3/cli/conf.d/20-ctype.ini
- /etc/php/7.3/cli/conf.d/20-exif.ini
- /etc/php/7.3/cli/conf.d/20-fileinfo.ini
- /etc/php/7.3/cli/conf.d/20-ftp.ini
- /etc/php/7.3/cli/conf.d/20-gettext.ini
- /etc/php/7.3/cli/conf.d/20-iconv.ini
- /etc/php/7.3/cli/conf.d/20-json.ini
- /etc/php/7.3/cli/conf.d/20-phar.ini
- /etc/php/7.3/cli/conf.d/20-posix.ini
- /etc/php/7.3/cli/conf.d/20-readline.ini
- /etc/php/7.3/cli/conf.d/20-shmop.ini
- /etc/php/7.3/cli/conf.d/20-sockets.ini
- /etc/php/7.3/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.3/cli/conf.d/20-sysvsem.ini
- /etc/php/7.3/cli/conf.d/20-sysvshm.ini
- /etc/php/7.3/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
 Installation failed, reverting ./composer.json to its original content.
I've seen somewhere that using this command it will work but getting this error.
composer global require "fxp/composer-asset-plugin:1.0.0-beta4"

我犯了这个错误

[ErrorException]
file_put_contents(./composer.json): failed to open stream: Permission denied 
require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...`

共有2个答案

夏经武
2023-03-14

显然,您没有写入的权限/创作者json

你有两种方法来解决这个问题。通过运行chmod XXX composer向用户或该用户的组授予写入权限。json或者您可以将文件的所有者更改为composer正在使用的用户(他可能已经拥有这些权限)。

上面的XXX应该是数字。你可以在这里读到这些数字应该是什么,但是你可能想要像660或770这样的数字。

有些人可能会使用777来解决此问题,但这应该!!不必须使用,因为您不希望其他人访问文件,除非他们确实需要。

您可以使用chown更改文件的所有者。它应该类似于chown user:group composer。json。

请让我知道,如果有什么你不明白,我会澄清,因为我知道作为一个新的html" target="_blank">linux用户很难理解权限。

请注意,这只是针对最后一个错误,但处理其他错误是类似的。您只需要给用户,哪个作曲家正在为正确的文件和/或文件夹使用正确的权限。可以使用-R标志来处理目录。

都才俊
2023-03-14

>

sudo chown -R kaushalendra:<YOUR_GROUP> /home/kaushalendra/.composer

注意:查找用户所属的组

groups kaushalendra

对我来说,它显示了以下组

omeraslam : omeraslam sudo www-data docker

之后:所有是我的用户分配的组,我可以使用omeraslam作为用户名,omeraslam作为组,因此对我来说,命令将是sudo chown-R-omeraslam:omeraslam/home/kaushalendra/。作曲家

然后在终端上运行以下命令

sudo apt-get install php-curl

然后重新启动apache

sudo service apache2 restart
 类似资料:
  • 我试图使用作曲家在WAMP上安装Yii2。 当我运行上面给出的命令时,我得到了以下错误。 [错误异常]传递给Fxp\Composer\AssetPlugin\Repository\BowerRepository::createVcsRepositoryConfig()的参数1必须是类型数组,空给定,在C:\用户\用户名\AppData\漫游\Composer\供应商\fxp\Comporter-a

  • 我正在尝试在我的电脑上运行laravel,但是我很难在我的机器上安装这个资源,下面是linux终端的一点错误 无法创建文件 /var/www/html/composer.phar:fopen(/var/www/html/composer.phar):打开流失败:权限被拒绝下载失败:fopen(/var/www/html/composer.phar):未能打开流:权限被拒绝f写()期望参数1是资源,

  • 如果我尝试安装一个新的扩展,从PHPStorm或命令行,我得到这个错误: 注意:我在我的php上禁用了xdebug扩展,但警告仍然显示在应用程序中。 C:\wamp\bin\php\php5.5.12\php.exe C:\wamp\www\calificaciones\composer.phar require 2amigos/yii2日期选择器小部件:1.0.5-n--在启用xdebug的情况

  • 我想在不使用composer的情况下使用Yi2框架手动安装Select 2扩展小部件。 我完成了以下步骤,但不起作用。 1) 将添加到 2) 在my: 3) 在视图窗体中添加了显示: 它显示以下错误: PHP致命错误-yii\base\ErrorExc0019.类'kartik\select2\Select2'未找到

  • 与TYPO3和作曲家一起学习TYPO3的基础知识。在尝试作曲家学习示例扩展时遇到了第一个问题 好的,需要作曲家来做。但是怎么做呢?只需了解如何使用composer设置TYPO3或创建用于composer的扩展。但是如何使用composer安装扩展? 再生n00n

  • 我正在做一个使用yii2php框架的项目。Yi2使用composer和fxp/composer资产插件来处理项目依赖关系。 问题是当一个新的开发人员来到项目并运行时 或者另一个开发人员想要安装一个新的扩展与