6

我正在尝试在 Windows 上使用“sencha generate app MyApp ../MyApp”命令创建一个新的 sencha touch 应用程序。

我做了以下事情:

下载最新的 sencha SDK 并将其解压到文件夹“D:\MyProjects\sencha-touch-2.1.0-gpl”文件夹中。

将 sencha SDK 工具安装在“D:\MyProjects\SenchaSDKTools-2.0.0-beta3”文件夹中。

确保系统环境变量“SENCHA_SDK_TOOLS_2_0_0_BETA3”确实指向“D:\MyProjects\SenchaSDKTools-2.0.0-beta3”

根据 sencha 文档,我应该在 sencha SDK 或应用程序文件夹中运行 sencha 命令。

因此,如果我 cd 到文件夹"D:\MyProjects\sencha-touch-2.1.0-gpl"并运行"sencha generate app MyApp ../MyApp",我会收到此警告消息

**"[WARN] The current working directory (D:\MyProjects\sencha-touch-2.1.0-gpl) is not a recognized Sencha SDK or application folder. Running in backwards compatible mode."**

为什么 sencha 不将此识别为 SDK 文件夹?

查看包含在 sdk 工具中的“sencha.js”文件中的代码,似乎 sencha 正在寻找“.senchasdk”文件。

所以我从示例文件夹中的一个子文件夹尝试了相同的命令(因为这个文件夹包含一个 .senchasdk 文件)

现在我得到了一个错误

"node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'D:\MyProjects\sencha-touch-2.1.0-gpl\command\sencha.js'
    at Function._resolveFilename (module.js:332:11)
    at Function._load (module.js:279:25)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)"

由于 sencha 似乎在寻找一个不存在的名为“command”的文件夹,我将SDK 工具文件夹的内容复制到一个名为“command”的新文件夹中,并将其放在D:\MyProjects\sencha-touch-2.1.0- gpl \文件夹。

执行 sencha generate 命令,导致无限循环,并产生大量 Node.exe 进程(通过 TaskManager 观察)。

任何帮助将不胜感激。

4

7 回答 7

8

我遇到了同样的问题,最后发现 Sencha Touch 2.1 不再使用 Sencha SDK Tools 而是使用 Sencha Command。

你可以在这里找到更多:

http://docs.sencha.com/touch/2-1/#/guide/command

和这里

http://docs.sencha.com/touch/2-1/#!/guide/command_app-section-2

希望这有帮助

于 2012-11-21T19:31:19.753 回答
3

试试这个...

确保三件事..

  1. Sencha touch 安装路径。
  2. 应用程序生成关键字
  3. 您将在哪里保存 Sencha touch 项目。

让我们创建一个项目。

  • 打开命令提示符
  • 输入您的 Sencha touch sdk 安装路径。(对我来说:C:\inetpub\wwwroot\touch-2.3.1
  • 然后输入sencha generate app MyApp。这里MyApp是我们的项目名称。
  • 然后输入您要保存项目MyApp的路径(对我来说:C:\inetpub\wwwroot\Poonguti\MyApp)。
  • 按 Enter。
  • 现在,我希望你创建一个 Sencha touch 项目。

这是一个附加的屏幕截图。截屏

于 2014-02-20T06:12:27.180 回答
2

这是因为,您使用的是旧版本的 SenchaCMD。发生这种情况的原因有两个。

原因一

您首先安装了 SenchaCmd,然后安装了 SenchaSDK。这可能会用 SenchaSDK 附带的旧版本覆盖最新版本的 SenchaCmd。

解决方案

先安装 SenchaSDK,最后安装 SenchaCmd。

原因 2

环境变量上设置的 SenchaCmd 路径可能有误。请检查这个。

正如 TDeBailleul 所说,最新版本的 SenchaTouch 不需要 SenchaSDK。只使用 SenchaCmd。

于 2013-03-13T10:17:18.723 回答
1

我遇到过同样的问题。最后,问题是我使用的是旧版本的sdk ......

我会重新安装 2.0 版并下载并安装 3.0 版。

下载链接

于 2012-12-22T06:38:37.233 回答
1

安装sencha

cmd
ruby
​​ compasss
并下载 sencha touch
extarct sencha touch

然后输入

sencha -sdk PATH TO TOUCH 文件夹生成应用程序APPNAME PROJECTPATH

于 2014-09-26T07:49:02.677 回答
0

尝试导航到安装 sencha cmd 的路径,而不是 sencha sdk 文件夹

  1. 打开命令提示符
  2. cd C:\..\bin\Sencha\Cmd\4.0.2.67
  3. 然后输入sencha然后按回车

你应该得到类似的东西Sencha Cmd V4.0.2.67

于 2014-02-16T08:38:17.640 回答
0

我的 SDK 是我提取 ExtJS 文件的地方。
~/current/gaia/static/js/ext-5.1.1

您可以像这样从文件夹中生成工作区:
sencha generate workspace /tmp/extJSworkSpace
或者
如果您不在文件夹中,则可以指定它的位置。
sencha -sdk ~/current/gaia/static/js/ext-5.1.1 generate workspace /tmp/extJSworkSpace

SDK 文件夹的内容如下所示:

ls ~/current/gaia/static/js/ext-5.1.1  
build cmd ext-bootstrap.js LICENSE overrides packages Readme.md src      version.properties build.xml examples index.html licenses package.json plugins release-notes.html test welcome

如果您没有指定-sdk标志并且不在文件夹内,它仍然会创建工作区,但里面不会有“ext”文件夹(未复制)。

希望这可以帮助。

于 2015-06-11T13:48:38.773 回答