4

我已经在我的 linux 服务器上使用 cake 命令 2 年了。但现在我正在尝试移动到新服务器以及 cake 命令如何返回错误:没有这样的文件或目录

即使我提供了 cake 命令文件 chmod 777 的整个路径,它仍然无法工作。

4

5 回答 5

8

我找到了解决方案:我所要做的就是使用程序 dos2unix 使用 Ubuntu 13.10 下载 CakePHP 2.4.2 的蛋糕文件时结尾错误

我使用了以下命令:

sudo dos2unix /path/to/cake/lib/Cake/Console/cake
于 2013-11-07T08:19:49.570 回答
4

真正的解决方案是将行尾 (EOL) 字符更改为 Unix 格式,而不是 MsDos。所以我猜这个错误只有在你在 Windows 中工作时才会发生。

无论如何,强大的解决方案:

(1)使用任何允许更改 EOL 字符的文本编辑器(例如 NotePad++ )打开app/Console/cake文件。

(2)在 NotePad++ 中点击: 编辑 -> EOL 转换 -> 转换为 Unix 格式

(3)保存文件并上传到服务器。现在,如果您使用以下命令导航到 CakePHP 应用程序目录:

cd /usr/share/nginx/html/cakeproject/app

...您应该能够Console/cake毫无问题地运行并查看标准输出(基本上是帮助命令)。

希望这对您有所帮助!

于 2015-08-18T16:32:22.850 回答
3

我在某些服务器上也遇到了这个问题,但从未弄清楚为什么会这样。我怀疑所谓的“shebang”可能没有为每个 Linux 发行版正确设置(例如,如果蛋糕脚本带有#!/usr/bin/env bash,但您没有在服务器上使用 bash 或者您的发行版在该路径中没有 env 二进制文件,它可能会失败。不过,这只是一个理论,正如我所说,我从未真正弄清楚,也没有花太多时间进行调查。

虽然,我总是使用作为后备的只是调用 cake.php 脚本(来自 app 文件夹),例如:

php Console/cake.php -app `pwd` bake

那永远不会让我失望。这-app pwd一点是告诉外壳您当前的目录是您的应用程序目录,因此外壳可以找到您的所有文件。

于 2013-11-06T23:17:54.107 回答
1

我也遇到了同样的问题,但是上面的答案让我想起了我之前遇到的类似问题:https ://stackoverflow.com/a/5514351/1097483

基本上,您可以在 vim 中打开文件,而不是使用dos2unix或安装它,执行

:set fileformat=unix

并保存它。

于 2015-02-02T02:31:46.240 回答
-1

在某些版本中,可以使用sudo apt-get install cakephp-scripts.

安装后,您可以通过键入轻松访问烘焙bake

于 2015-08-13T13:18:09.880 回答