我在linux服务器上使用cake命令已经2年了。但现在我试图转移到一个新的服务器和一些蛋糕命令如何回报错误:没有这样的文件或目录
即使我给了蛋糕命令文件chmod 777的整个路径,它也不会工作。
答案 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