Laravel Homestead 安装:bash init.sh 无法工作

10

我想安装Laravel Homestead以便能够在本地测试我的Laravel项目。

我正在遵循这篇教程:http://laravel.com/docs/4.2/homestead

在“安装Homestead”部分,我按照第二步“通过Git手动安装(没有本地PHP)”,我没有安装任何本地PHP并且无法使用Composer。(难道PHP不应该作为Homestead的一部分安装吗?)

我到了这一步:

一旦您安装了Homestead CLI工具,请运行bash init.sh命令创建Homestead.yaml配置文件:

bash init.sh

在命令提示符中,我尝试输入以下命令:

bash init.sh

我收到了以下错误:

'bash' is not recognized as an internal or external command, operable program or batch file.

然后我尝试在 Git Bash 中输入相同的命令,但是出现了以下错误:

bash: init.sh: 没有那个文件或目录

当我在 Git Bash 中仅输入以下内容时

init.sh

我会得到以下错误:

sh.exe": init.sh: 找不到命令


尝试从命令行运行以下命令:mkdir -p ~/.homestead cp src/stubs/Homestead.yaml ~/.homestead/Homestead.yaml cp src/stubs/after.sh ~/.homestead/after.sh cp src/stubs/aliases ~/.homestead/aliases - xAoc
第一条命令成功了。第二条命令:cp src/stubs/Homestead.yaml D:/Homestead/Homestead.yaml 的结果是 'cp' 不是内部或外部命令,也不是可运行的程序或批处理文件。 - Maxim Laco
复制它是一个Windows的cp命令。或者更好的方法是手动复制这些文件。 :) - xAoc
我将src/stubs中的所有3个文件复制到了那个新目录中。这样做有什么作用? - Maxim Laco
我只是在我的Homestead文件夹中执行了init.sh,这样可以吗?它说“Homestead已初始化!”。我应该修改那里的Homestead.yaml吗?如果不需要,为什么不需要?为什么要复制其中一些文件到新文件夹中? - Maxim Laco
显示剩余5条评论
7个回答

12

我也遇到过这个问题。需要进入终端(我用的是Mac)。

  • 在控制台中输入:cd ~/Homestead
  • 确保你在新生成的Homestead文件夹中(你可以点击 Finder > 你的主目录 > Homestead 确认它是否在正确位置),
  • 然后在终端中键入ls -- 如果列出了所有文件,如Vagrantfilecomposer.lock和bashinit.sh,那么你就在正确的文件夹中了。

一旦你知道你在正确的Homestead文件夹中,现在就可以运行bash init.sh

完成这些步骤后,会显示Homestead initialized!


8

.sh是一个可在Unix/Linux环境下执行的脚本,但在Windows系统中无法识别。该软件包中包含一个init.bat文件,但教程中未提及此文件。

只需在命令行中运行init.bat即可。它会将文件复制到:

%HOMEDRIVE%%HOMEPATH%\.homestead

0
如果init.bat无法工作,
前往Homestead文件夹。 C:/Users/计算机名称/Homestead
你会看到init.bat:双击运行它。
问题解决。

0

你需要安装Git Bash,然后在Git Bash中运行命令。


2
就像我写的那样,我确实尝试了Git Bash。 - Maxim Laco

0
尝试使用init.bat,这对我有用。

-1

我找到了你可能在寻找的答案。我之前也遇到了同样的问题。只需确保在 bash init.sh 的末尾加上一个分号;

所以在 git bash 命令行中,你将会有这一行:

$ bash init.sh;


-2

只需使用sudo就可以了。

$sudo bash init.sh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接