laravel - Fresh Homestead 无法在 Windows 上运行(作曲家重命名权限被拒绝错误)
问题描述
我正在 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
作曲家部分编辑为:
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
这个对吗?这是宅基地的虫子吗?
解决方案
推荐阅读
- flutter - [[DEFAULT]] firebase 应用尚未初始化!扑
- flutter - 将项目迁移到 Gradle?
- python - runtimewarning courutine messagable.send 从未等待
- javascript - 如何将参数传递给 URL?
- javascript - 当我不止一次使用“显示更多/隐藏按钮”时如何保持显示数据 - Django & JavaScript
- delphi - 在 Delphi RAD Server 内置用户端点中更改用户名
- qt - 如何使用 qt 设计器自动集中小部件?
- javascript - 使用 React.js 时未定义 Web Speech API SpeechRecognition
- flutter - 将flutter升级到1.22.0后auto_route包的问题
- flutter - Flutter 文本对齐