【问题标题】:Vendor folder does not exist and cannot be created供应商文件夹不存在且无法创建
【发布时间】:2020-03-12 20:45:44
【问题描述】:

问题:

我应该给 Windows 上的 Composer 什么样的权限?

服务器信息:

  • Windows 2012 R2

  • IIS 8.5

错误信息:

[运行时异常]

C:\inetpub\wwwroot/vendor 不存在,无法创建。

我尝试过的步骤和想法:

我已经通过 .exe 文件安装了 Composer。

我在 C:\inetpub\wwwroot 中有一个 composer.json 文件,当我尝试运行 composer installcomposer update 时,我收到错误消息。

我尝试在目录中手动创建供应商文件夹,但它无法下载我在 composer.json 文件中的包,给出大致相同的错误消息,包不存在并且不能被创建。

我用谷歌搜索了这个错误,我相信这是一个权限问题,但是,我已经在另一台服务器上安装了 Composer,并在 C:\inetpub\wwwroot 目录中安装了软件包,没有问题。我试过比较 wwwroot 和 inetpub 两台服务器之间的安全组权限,权限是一样的。我有人建议尝试将 .json 文件复制到服务器上的“我的文档”中,然后尝试从那里运行 composer install,这很有效。这进一步表明这是一个权限问题,但我不知道是什么。

【问题讨论】:

    标签: windows composer-php


    【解决方案1】:

    在重新阅读另一个 Linux 问题后,我发现了问题所在。我需要以管理员身份运行命令提示符。现在可以了。

    【讨论】:

    • 更好的解决方案是将文件夹的权限分配给您的用户帐户以对其进行写入。一般不建议以管理员身份运行。
    • @Sven 我运行的帐户是有限使用的,它仅用于服务器。但是,如果您知道我需要哪些安全组才能使其在不以管理员身份运行的情况下运行,我很乐意尝试它们。
    • 是的,在搜索时我最终来到了这里 :) +1
    • 以后的读者注意:不要以管理员身份运行,而是修复项目目录的权限
    • @允许composer安装依赖项的权限应该是什么?
    【解决方案2】:

    请确保您的部署文件夹是否有 composer.lock 文件。'如果没有,请在那里部署文件。

    【讨论】:

    • 当锁文件不存在时,它会使用json文件。
    猜你喜欢
    • 2014-04-18
    • 2018-02-24
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多