【问题标题】:Install and publish Laravel package without composer在没有 composer 的情况下安装和发布 Laravel 包
【发布时间】:2015-01-04 01:11:06
【问题描述】:

我想使用这个包:https://github.com/lucadegasperi/oauth2-server-laravel/wiki/Installation 在 Laravel 中使用 OAuth 2.0

我无法正确安装它。首先,我无法更新作曲家,所以我必须将"minimum-stability": "stable" 更改为"minimum-stability": "dev"。通过更新作曲家,我所有的包都被替换了 bij dev 版本。

其次,我无法通过在终端中输入以下命令来发布我的包:php artisan config:publish lucadegasperi/oauth2-server-laravel

我收到此错误:

php artisan config:publish lucadegasperi/oauth2-server-laravel
{"error":{"type":"ErrorException","message":"file_put_contents(\/Applications\/XAMPP\
/xamppfiles\/htdocs\/api-dashboardv2\/app\/storage\/meta\/services.json): failed to
open stream: Permission denied","file":"\/Applications\/XAMPP\/xamppfiles\/htdocs\
/api-dashboardv2\/vendor\/laravel\/framework\/src\/Illuminate\/Filesystem\
/Filesystem.php","line":69}}

我试过chmod -R 777 app,但无法更改应用程序的文件模式。我正在使用 XAMMP 进行开发。

我可以在没有作曲家或其他东西的情况下安装和发布这个包吗?

更新:

我现在收到以下错误:

PHP 致命错误:类 'League\OAuth2\Server\Storage\Adapter' 不是 在发现 /Applications/XAMPP/xamppfiles/htdocs/api-dashboardv2/vendor/lucadegasperi/oauth2-server-laravel/src/Storage/FluentAdapter.php 在第 18 行 {"error":{"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"类 'League\OAuth2\Server\Storage\Adapter' 不是 找到","file":"/Applications/XAMPP/xamppfiles/htdocs/api-dashboardv2/vendor/lucadegasperi/oauth2-server-laravel/src/Storage/FluentAdapter.php","line":18}}

而且,是否可以将 "minimum-stability": "dev" 设置回 'stable' 并仅获取 OAuth 包的开发版本?

【问题讨论】:

    标签: php laravel package composer-php


    【解决方案1】:

    正如其他人所提到的,你应该按照文档中的描述给予它写权限

    chmod -R 775 app/storage
    

    请注意,775 应该足够了。这是nice answer 指出不同之处...


    关于composer.json 中的稳定性配置

    您可以定义每个包的稳定性!

    "lucadegasperi/oauth2-server-laravel": "@dev"
    

    Composer docs

    更新

    [此错误已修复]

    显然有人刚刚对项目进行了最近的更改,导致了一些问题。他们已经在尝试修复它...Github Issue

    【讨论】:

    • 该软件包的文档说:如果安装失败,请在您的 composer.json 文件中设置 "minimum-stability": "dev"。并且安装失败。所以,是的,我需要开发版。
    • 你必须在你的供应商目录中分类吗?应该类似于vendor/league/oauth2-server/src/League/OAuth2/Server/Storage/Adapter.php
    • 目录确实存在,但是没有名为Adapter.php的文件。那里有两个文件,名为 Authorization.php 和 Resource.php。这是正确的。我从 Github 下载了 zip 文件,里面有相同的文件。
    • 我正在使用这个包的 2.1.3 版本,因为我无法安装最新版本。那么,这个错误对我的版本有影响吗?
    • 这绝对是一种解决方法......或者您可以等待一天或更多。我相信他们会很快修复它
    【解决方案2】:

    您需要chmod -R 777 app/storage 或对该文件夹足够的写入权限。由于框架存储并写入文件夹内的文件夹。文档确实说here

    【讨论】:

    • @Marten 您使用 composer update / 更新单个包,而您不必更新其余包。
    【解决方案3】:

    你试过了吗:

    chmod 777 app/storage/meta/services.json
    

    它很容易为我工作

    【讨论】:

    • 添加这些权限后可能无法解决其他权限错误。但是文档说要授予对文件夹的写访问权限,如here
    猜你喜欢
    • 2015-01-18
    • 2015-04-13
    • 2012-08-10
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 2012-12-12
    • 1970-01-01
    相关资源
    最近更新 更多