Cakephp Cake命令返回No such file或directory

时间:2013-11-06 13:49:27

标签: cakephp cmd ubuntu-12.04

我在linux服务器上使用cake命令已经2年了。但现在我试图转移到一个新的服务器和一些蛋糕命令如何回报错误:没有这样的文件或目录

即使我给了蛋糕命令文件chmod 777的整个路径,它也不会工作。

5 个答案:

答案 0 :(得分:9)

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

我使用了以下命令:

sudo dos2unix /path/to/cake/lib/Cake/Console/cake

答案 1 :(得分:4)

真正的解决方案是将行尾(EOL)字符更改为Unix格式,而不是MsDos。所以我想只有在Windows中工作才会出现此错误。

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

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

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

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

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

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

希望这有助于你!

答案 2 :(得分:3)

我在某些服务器上也遇到此问题,但从未弄清楚为什么会发生这种情况。我怀疑可能没有为每个Linux发行版正确设置所谓的“shebang”(例如,如果蛋糕脚本以#!/usr/bin/env bash标记,但您不在服务器上使用bash或您的发行版没有env在那条道路上是二元的,它可能会失败。但这只是一个理论,正如我所说,我从来没有真正弄明白,也没有花太多时间在调查上。

虽然,我一直用作后备的只是调用cake.php脚本(来自app文件夹),比如:

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

永远不会让我失望。 -app pwd位告诉shell您当前的目录是您的app目录,因此shell可以找到您的所有文件。

答案 3 :(得分:1)

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

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

:set fileformat=unix

并保存。

答案 4 :(得分:-1)

在某些版本中,可以使用sudo apt-get install cakephp-scripts安装蛋糕。

安装完成后,您可以通过输入bake

来进行烘焙