我有一个使用Sencha Command v4.0.2.67生成的单页ExtJS应用程序。我正在尝试使用Sencha Command v4.0.2.67使用以下命令构建。
$ sencha app refresh
$ sencha app build
当构建移至步骤 -compile-sass Sencha Cmd v4.0.2.67失败时:
Failed creating background process
Sencha Cmd v4.0.2.67输出:
[INF] -compile-sass:
[INF] writing sass content to /build/DevOps/production/DevOps-all.scss
[INF] appending sass content to /build/DevOps/production/DevOps-all.scss
[INF] appending sass content to /build/DevOps/production/DevOps-all.scss
[INF] executing compass using system installed ruby runtime
[ERR]
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExProcess: Failed creating background process
[ERR]
[ERR] Total time: 16 seconds
[ERR] The following error occurred while executing this line:
.sencha/app/build-impl.xml:273: The following error occurred while executing this line:
.sencha/app/sass-impl.xml:127: The following error occurred while executing this line:
.sencha/app/sass-impl.xml:138: com.sencha.exceptions.ExProcess: Failed creating background process
环境:
项目:
最初的项目是使用Sencha Cmd v3.1.2.342生成的,后来引入了Sencha Cmd v4.0.2.67。我们完成了记录的升级过程以升级Sencha Cmd:
$ sencha upgrade --check
$ sencha upgrade
然后使用我们之前版本生成的应用程序调出新版Sencha Cmd,我们从应用程序目录中运行了这个命令:
$ sencha app upgrade --noframework
有一些变化,Sencha称之为合并。主要在app.js和.sencha /文件夹中。输出足够详细,说明如何解决它们。我们做到了这一点,在我们解决了合并后,应用程序中的一切运行正常,这是我们发现构建不起作用的地方。主要问题是SASS和COMPASS的升级。
您可以单独运行特定任务,在本例中为sass步骤,使用 sencha -d ant sass ,以便在没有执行所有其他步骤的情况下更好地输出错误:
$ sencha -d ant sass
这是我们看到构建错误的地方创建后台进程失败。
答案 0 :(得分:1)
问题的根源是 build.properties 文件,并更改了Sencha Cmd v3.1.2.342和v4.0.2.67之间文件中的属性。该文件位于项目根目录中:
.sencha/app/build.properties
通过清除 build.properties 中的所有自定义属性,我们能够成功运行刷新和构建命令:
$ sencha app refresh
$ sencha app build
问题的根源是我们的项目是由Sencha Cmd v3.1.2.342生成的。当我们升级到Sencha Cmd v4.0.2.67并且项目经历了升级过程。文件的格式和属性已更改。 Sencha Cmd v3.1.2.342使用的旧属性和一些路径不再存在于Sencha Cmd v4.0.2.67中。升级期间的合并过程会尽力保留您的旧版属性;即使他们破坏了东西。打破构建。
我建议使用Sencha Cmd v4.0.2.67创建一个示例项目,并针对构建中断的项目执行示例项目 build.properties 文件的差异。我们有大约70行自定义属性用于输出目录,SASS和CSS路径不再有效。