【问题标题】:Fresh Homestead not working on Windows (composer rename permission denied error)Fresh Homestead 无法在 Windows 上运行(作曲家重命名权限被拒绝错误)
【发布时间】:2019-01-29 17:20:44
【问题描述】:

我正在 Windows 上运行全新版本的 Homestead v8.0.1。

我的 Homestead.yml 文件如下所示:

---
ip: "192.168.99.20"
memory: 2048
cpus: 1
provider: virtualbox

backup: true

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Documents/example
      to: /home/vagrant/code/dealer-app

sites:
    - map: example.test
      to: /home/vagrant/code/example/public
      type: "apache"

databases:
    - example

ports:
    - send: 4200
      to: 4200
    - send: 49153
      to: 49153

我做了以下事情:

$ git clone https://github.com/laravel/homestead.git .
$ git checkout v8.0.1
$ init.bat
$ vagrant up

在我收到此错误之前大部分都可以正常工作:

homestead-7: Running: script: Update Composer
homestead-7: Updating to version 1.8.2 (stable channel).
homestead-7:
homestead-7:
homestead-7:   [ErrorException]
homestead-7:   rename(/home/vagrant/.composer/cache/composer-temp.phar,/usr/local/bin/composer): Permission denied

为什么这不起作用?

看看homestead.rb它有:

 config.vm.provision 'shell' do |s|
      s.name = 'Update Composer'
      s.inline = 'sudo -u vagrant /usr/local/bin/composer self-update --no-progress && sudo chown -R vagrant:vagrant /home/vagrant/.composer/'
      s.privileged = false
  end

那么在 Windows 版本的 Vagrant 上运行 chown 可能是个问题?

更新

我设法通过将homestead.rb composer 部分编辑为:

config.vm.provision 'shell' do |s|
  s.name = 'Update Composer'
  s.inline = '/usr/local/bin/composer self-update --no-progress && chown -R vagrant:vagrant /home/vagrant/.composer/'
  s.privileged = true
  # s.inline = 'sudo -u vagrant /usr/local/bin/composer self-update --no-progress && sudo chown -R vagrant:vagrant /home/vagrant/.composer/'
  # s.privileged = false
end

这是正确的吗?这是 Homestead 错误吗?

【问题讨论】:

    标签: laravel homestead


    【解决方案1】:

    这是一个 Homestead bug,已在 v8.0.2 中修复。

    Updating 到最新版本应该可以修复它。

    注意:请确保您运行的是 git checkout v8.0.2,而不是文档现在所说的 git checkout v8.0.1

    【讨论】:

      【解决方案2】:

      这不是通常的设置过程。

      我建议按照指南here

      在你运行完 init.bat 之后,你应该设置你的 homestead.yaml 文件,然后才运行 vagrant up。

      【讨论】:

      • 我就是这么做的。 Homestead.yml 文件不是问题。我无论如何都更新了这个问题。
      猜你喜欢
      • 2015-07-27
      • 2016-04-25
      • 2017-05-03
      • 2019-11-18
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多