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) => {
...
我在 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) => {
...