Windows 10 上的错误 运行 ghost

Error running ghost on Windows 10

我在 Windows 10 上安装了 ghost 和 ghost-CLI。当我 运行 ghost start 时,出现以下错误。如何解决这个问题?它似乎与检查文件和文件夹权限的命令有关。请注意,我在 D: 驱动器中 运行ning ghost。

顺便说一下,如果我 运行 ghost run 就可以了。

D:\onlinehelp>ghost start
Process manager 'systemd' will not run on this system, defaulting to 'local'
√ Checking current folder permissions
√ Validating config
× Checking folder permissions
× Checking file permissions
√ Checking memory availability
One or more errors occurred.

1) Checking folder permissions

Message: Command failed: C:\WINDOWS\system32\cmd.exe /q /s /c "find ./ -type d ! -perm 775 ! -perm 755"
FIND: Parameter format not correct


Exit code: 2



2) Checking file permissions

Message: Command failed: C:\WINDOWS\system32\cmd.exe /q /s /c "find ./  -type f ! -path "./versions/*" ! -perm 664 ! -perm 644"
File not found - ./
File not found - -TYPE
File not found - F
File not found - !
File not found - -PATH
File not found - !
File not found - -PERM
File not found - 664
File not found - !
File not found - -PERM
File not found - 644


Exit code: 1


Debug Information:
    OS: Microsoft Windows, v10.0.16299
    Node Version: v8.9.1
    Ghost-CLI Version: 1.7.2
    Environment: production
    Command: 'ghost start'

Additional log info available in: C:\Users\pablo\.ghost\logs\ghost-cli-debug-2018-05-01T16_58_30_857Z.log

Try running ghost doctor to check your system for known issues.

Please refer to https://docs.ghost.org/v1/docs/troubleshooting#section-cli-errors for troubleshooting.

D:\onlinehelp>

这不是一个理想的解决方案,但它对我有用。

Ghost 使用 linux 的 find 命令检查权限,此命令在 windows 上不存在(或者至少 windows find命令不接受相同的参数。

我很确定我的权限没有问题,所以我决定绕过检查。

为此,找到全局安装 ghost-cli 的位置,在我的例子中是 C:\Users\your-name-here\AppData\Roaming\npm\node_modules\ghost-cli

在那里,你想找到lib\commands\doctor\checks\check-permissions.js

您会注意到一行以 return execa.shell(

这是我们要避免的行,为此,我们可以在 运行 之前 return 结果,在我的例子中,我添加了行 return Promise.resolve();

例如

return Promise.resolve();

return execa.shell(checkTypes[type].command, {maxBuffer: Infinity}).then((result) => {
...