我目前在家庭目录中运行Windows 7,即C:/Users/username
我的C
云端硬盘空间不足且没有突袭。但是,我有另一个标有" F"其中raid为0以帮助保持我的数据/文件更安全,以防HD崩溃,并且还有更多的存储空间。
我想把我的Homestead和项目搬到F盘。
这是我到目前为止所做的。
从命令行执行以下命令
f:
vagrant box add laravel/homestead
git clone https://github.com/laravel/homestead.git Homestead
mkdir Projects
然后我从以下代码
编辑了F:/Homestead
上的init.sh文件
#!/usr/bin/env bash
homesteadRoot=~/.homestead
mkdir -p "$homesteadRoot"
cp -i src/stubs/Homestead.yaml "$homesteadRoot/Homestead.yaml"
cp -i src/stubs/after.sh "$homesteadRoot/after.sh"
cp -i src/stubs/aliases "$homesteadRoot/aliases"
echo "Homestead initialized!"
到下面的代码,以便在F驱动器而不是本地驱动器上执行文件
#!/usr/bin/env bash
homesteadRoot=/f/.homestead
mkdir -p "$homesteadRoot"
cp -i src/stubs/Homestead.yaml "$homesteadRoot/Homestead.yaml"
cp -i src/stubs/after.sh "$homesteadRoot/after.sh"
cp -i src/stubs/aliases "$homesteadRoot/aliases"
echo "Homestead initialized!"
然后使用Git Bash我从F:\ Homestead
执行以下命令bash init.sh
然后我在F驱动器上手动创建了.ssh
文件夹,然后像这样创建了我的rsa键
mkdir .ssh
ssh-keygen -t rsa -C "you@homestead"
最后,我更新了我的Homestead.yaml,看起来像这样
---
ip: "192.168.10.10"
memory: 5120
cpus: 1
provider: virtualbox
authorize: /f/.ssh/id_rsa.pub
keys:
- /f/.ssh/id_rsa
folders:
- map: /f/Projects
to: /home/vagrant/Projects
type: "nfs"
sites:
- map: dev.app
to: /home/vagrant/Projects/Project1/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
然而,当我转到192.168.10.10:8000
时,我一直得到No input file specified.
然后当我尝试以这样的方式SSH到服务器时
vagrant SSH
我发现了一条与我预期不同的路径#34;或者在我的Homestead.yaml"中定义的路径。这就是我所看到的
cd /home/vagrant/Projects/Projects1/Project1
因此:请注意框中的文件夹命名
我看到文件与笔记本电脑上的文件不同
F:\Projects\Project1\public
我做错了什么?我应该怎样做才能在F驱动器上的机器上正确运行Homestead而不是用户主驱动器?
答案 0 :(得分:3)
您应该在使用Linux路径的地方使用Windows路径。
Homestead使用运行Linux的虚拟机,Linux不需要知道或关心您现在在F:驱动器而不是C:驱动器上运行Homestead。
Homestead的工作方式是将文件夹从Windows操作系统映射到Linux操作系统。然后从Homestead Linux机器内部,它不必知道或关心文件所在的位置(C:或F :)。
您放置/f/
的任何地方都不正确;这在Windows或Linux上都不存在。
首先,您需要撤消对以.sh
结尾的文件所做的任何更改。这些文件在Linux中运行,因此不需要修改此移动到F:。
init.sh homesteadRoot = / F / .homestead
恢复
homesteadRoot=~/.homestead
接下来,我相信唯一需要改变的是你的Homestead.yaml:
folders:
- map: F:/Projects
to: /home/vagrant/Code
答案 1 :(得分:0)
我已成功将我的Project文件夹从C:驱动器移动到D:驱动器。我不得不更改几个宅基地文件如下。
更改Homestead目录
中 Vagrantfile 中的以下行-confDir = $confDir ||= File.expand_path(File.join(Dir.home, ".homestead"))
要
confDir = $confDir ||= File.expand_path(File.dirname(__FILE__))
如果您使用的是Mac或Linux,请在 init.sh 文件中进行以下更改。
#!/usr/bin/env bash
cp -i src/stubs/Homestead.yaml Homestead.yaml
cp -i src/stubs/after.sh after.sh
cp -i src/stubs/aliases aliases
echo "Homestead initialized!"
在Windows init.bat 文件中包含以下更改
@echo off
copy /-y src\stubs\Homestead.yaml Homestead.yaml
copy /-y src\stubs\after.sh after.sh
copy /-y src\stubs\aliases aliases
echo Homestead initialized!
最后,你必须提供你的项目'文件夹路径在' map'键入 Headstead.yaml 文件。在我的电脑上,Homestead目录中存在 Projects 文件夹,Headstead.yaml中的 map 路径如下所示。
folders:
- map: D:/vagrant/Homestead/Projects
to: /home/vagrant/Projects
在Git Bash中运行以下命令以重新加载流浪盒。
bash init.sh
vagrant reload --provision