我之前在 stackoverflow 网站上问过同样的问题,但没有任何结果。由于这显然与我们的 Synology NAS 配置有关,也许你们的专业知识更适合?
最近我们换了办公室,因此我们现在使用的 NAS 型号与以前不同。但现在我们在运行简单的“composer require”命令时遇到了困难。
情况是这样的:1. 我将 NAS 上的项目文件夹映射为 Windows 计算机上的网络驱动器,例如:2. 我想通过安装在本地 Windows 计算机上的 Composer php 依赖管理器在我们的项目中需要以下包:“composer require dereuromark/cakephp-queue”3. 结果我收到错误“./composer.json 不可读”。(顺便说一下,我可以在 Windows 资源管理器中或通过 cmd 读取 composer.json 文件的内容,因此我认为这实际上不是我的用户的权限问题)
在我们之前的 NAS 上,我们进行了完全相同的设置,并且运行完美。当我们将 NAS 上的项目文件夹中的所有内容复制到 C: 上的本地文件夹,然后运行相同的 composer 命令时,它就可以正常工作。所以这与 NAS 有关。
谁知道我们可以查看哪些 NAS 设置以使其再次正常工作?
谢谢!
答案1
我发现自己很长时间都处于同样的境地,但今天我终于找到了解决办法。这可能不是最简单的办法,但对我来说很管用:
- 在 NAS 上打开“File Station”并浏览到“composer.json”文件
- 右键单击该文件并选择“属性”
- 转到“权限”选项卡,然后单击“创建”按钮
- 对于用户,选择Everyone,并检查所有权限
- 尝试再次运行该命令,现在它可能已经正常工作了
此解决方案的缺点是每次有新的 composer.json 文件时,您都必须重复此步骤。如果您知道更好/更简单的方法来解决这个问题,请告诉我!
答案2
尝试运行:
composer clear-cache
过渡到新 NAS 时,一些旧缓存文件可能会妨碍操作。我还看到使用以下方法解决了权限问题:
composer self-update
但请注意,需要权限的可能不是您的用户,而是 Web 用户。因此,请检查您的设置,看看哪个用户运行该进程,该用户需要正确的权限。