Sencha Cmd won't build on another workstation - extjs

So I am trying to set up another ExtJS (4.2.1) dev workstation I've got Ruby 1.9.3, Sencha Cmd 4.0.4.84 installed and latest Java VM too.
The build won't work on this one though, I'm getting:
[INF] executing compass using system installed ruby runtime
Errno::ENOENT on line ["38"] of C: No such file or directory - C:/devtfs/CustomerPortal/CustomerPortal.UI/Content/Customer_Portal_UI/build/temp/production/Customer_Portal_UI/slicer-temp/.sass-cache/82daaa66b7a4761963814fd25131bf0f81370ec9/Customer_Portal_UI-example.scssc
82daaa66b7a4761963814fd25131bf0f81370ec9 folder does exist, but it's empty.
I've tried
sencha ant clean
sencha app refresh
sencha app build --clean
No go. Ever seen this issue ?
Thanks!
EDIT: Hmm, even after this error, the application seems to be running fine on the Sencha web server, but the index.html file is the last thing that's not created in build/production.

Related

Sencha Architect "Unable to open your app.json file"

I've been trying to follow Sencha's basic tutorial on Sencha Architect with the Sencha Architect trial version, but I've been stuck on the step of the tutorial titled, "Save Your Project". I've been encountering this error in the Sencha Architect Logs every time I save my new projects:
As the error suggests, there was no "app.json" generated by Sencha Architect:
The "CMD Output Tab" also produces this output upon saving the Sencha Architect project:
[INF] Initializing empty workspace at C:\Users\marco\source\sencha-sandbox\Test2
[INF] Copying framework to C:\Users\marco\source\sencha-sandbox\Test2\ext
[INF] Added framework ext to workspace.json
[ERR] The specified string cannot be converted into a valid namespace identifier
Exception in thread "Thread-13"
com.sencha.exceptions.BasicException: com.sencha.exceptions.ExState: Invalid namespace : Test2
at com.sencha.tools.server.service.tasks.DispatchTask.execute(DispatchTask.java:55)
....
If it makes any difference, I am using the latest versions of Java JDK (17.0.1) and Ruby (3.0.2p107).
Here is a selection of some of the things I've tried to resolve the issue, none of which have worked:
Restart windows ❌
Recreate project ❌
Create new project with Ext JS 6.0.x, instead of the latest version ❌
Reinstall everything and try following the tutorial again on a
completely new instance of Windows 10 ❌
What I have been able to do successfully is create and run a project through the Sencha CMD following the Sencha CMD tutorial, so I find it interesting that the Sencha CMD-generated project works perfectly fine, yet my Sencha Architect Trial version cannot create a functioning project.
I got into contact with one of Sencha's engineers today, who helped me to resolve this:
When Sencha Architect (v4.2.9) installed with CMD, the CMD version (v7.3.0.19) that was automatically installed alongside Sencha Architect was causing this error.
To fix this version issue, within Sencha Architect, I had to go to menu at Edit > Preferences > Dependencies, and change the default "Custom Cmd Base Path" from
C:\Users\marco\bin\Sencha\Architect\Cmd
to the install location of the standalone Sencha CMD
C:\Users\marco\bin\Sencha\Cmd
After doing that, you re-launch Sencha Architect, and Sencha Architect will ask you to update Sencha CMD, which you proceed with. From there, it seems that all your future projects should be good to go without issue.

How to run "sencha app watch" without a webserver

I am already serving my ExtJS 5.1 development application on a local (nginx) web server, and I don't need the development webserver from Sencha Cmd when running sencha app watch.
Is there any flag or other command equivalent but without running this extra web server?
Alternativelly, what would be an equivalent command for building the development app (not making the entire build proccess of a production app) but without the "watch" characteristics? ie. issued automatically by the IDE every time I save a .js file.
You can switch off the web server.
Go to the sencha.cfg file located at <App name>\app\.sencha\app and put at the bottom of the file:
skip.web.start=true or skip.web.start=1
I am using Sencha Cmd 6.7.0.63
Create a local.properties file in the app directory and add there:
skip.web.start=true
Vales that can be set in the local.properties file are to be looked up in the sencha installation dir:
Sencha\Cmd\6.7.0.63\ant\build\app\build.properties
Sencha\Cmd\6.7.0.63\ant\build\app\*.properties

Sencha Cmd ERR Invalid Path (Trial Version)

When I try to generate an ExtJS app with my trial installation it fails. It worked in the beginning. Here is what I get:
sencha generate app -ext sampleName F:\vs13\sampleName
Sencha Cmd v5.1.0.26
[INF] Loading framework from F:/../../../../../ext
[ERR] Invalid Path : F:\..\..\..\..\..\ext
Since it is a trial version it should automatically download the framework.
This will automatically download the Ext JS Commercial Trial package and use it to generate your application.
According to the documentation this is the syntax:
sencha generate app -ext MyApp /path/to/MyApp
Also I checked the path variable which includes the path to the Sencha Cmd installation:
PATH=F:\ExtJs\bin\Sencha\Cmd\5.1.0.26;
I tried to restart the development machine. It did not help.
Any suggestion to solve the error "Invalid Path"?
Did you move Sencha Cmd installation? That could be the reason because Ext library is downloaded only for the first application you create and it is cached in the Cmd installation tree. Next applications you create use this cached Ext. If you moved Cmd then it cannot find path to the cached Ext.
You can also try to uninstall Sencha Cmd and install it again.

Sencha Touch Generate App on mac doesn't work

I know Sencha is hard to learn, but I can't even get to first base and generate a starting App and I'm sure I'm not the only one!!! I have downloaded Sencha Touch SDK 2.3.1 (latest version) and Sencha CMD 5.0.1 (latest version). I have navigated to the Sencha Touch directory and typed in the command EVERYONE says to use to generate an app which is: sencha generate app MyApp ../MyApp On my mac I get errors as Sencha CMD tries to install the working directory and the SDK files. Is this a mac problem or am I missing something here?
Here is what I get:
[ERR] Directory /Users/Adam/Documents/Websites/touch not recognized as a framework
[ERR] Directory /Users/Adam/Documents/Websites/touch not recognized as a framework
[INF] Processing Build Descriptor : default
[INF] Loading app json manifest...
[INF] Concatenating output to file /Users/Adam/Documents/Websites/build/temp/production/myApp/sencha-compiler/cmd-packages.js
[INF] writing content to /Users/Adam/Documents/Websites/MyApp/bootstrap.js
[INF] appending content to /Users/Adam/Documents/Websites/MyApp/bootstrap.js
[INF] appending content to /Users/Adam/Documents/Websites/MyApp/bootstrap.js
[INF] appending content to /Users/Adam/Documents/Websites/MyApp/bootstrap.js
[INF] Appending content to /Users/Adam/Documents/Websites/MyApp/bootstrap.json
Also, the build and touch directories don't end up in the MyApp directory but instead one level up. So frustrating. Any help from anyone familiar with Sencha would be greatly appreciated. Thank you
I totally understand your frustration - 2 days is a long time to be stuck. Sencha can be so confusing....big learning curve!
In this situation you are better off changing your generate app command to specify the path to the touch directory and before generating the app, I would suggest you ensure you haven't already accidentally created an app in the websites folder, as this will throw you another error.
So, assuming your directory structure has websites/touch and you want your application generated in websites/myapp, I would suggest the following:
Ensure you are in your websites directory
check for hidden .sencha folder by typing ls -a
if it exists, remove it by typing rm -r .sencha
Create the folder you wish to generate your app into (eg: myapp)
change to that directory (cd myapp)
generate your app (sencha -sdk ../touch generate app MyTestApp .)
note: "../touch" is pointing to the touch directory in the parent folder
note: "MyTestApp ." is telling the system to generate an app called MyTestApp in the current folder.
See how you go with this - hope it helps!

Ext JS 4: Sencha CMD issues

Ok, I've been trying and trying my hardest to build a simple application with the Sencha CMD tool. I've tried this with versions 4.0.7 (located on Sencha website), 4.1.0 (here), 4.1.1 (here), and 4.2.1 (Sencha website) with varying results but no success. When I issue the commands:
sencha -sdk extjs-4.0.7 generate workspace ext407
sencha -sdk extjs-4.1.0 generate workspace ext410
sencha -sdk extjs-4.1.1 generate workspace ext411
I get a directory with only the empty directory packages. As I've read the documentation, my directories should have ext and packages. When I issue sencha -sdk ext-4.2.1.883 generate workspace ext421, I get the proper folders. However, when I take the next step:
cd ext421
sencha -sdk ext generate app ThemeDemoApp appDemo
per the Theming Guide, it appears to fail, even though I get my ext421 directory. I say it appears to fail because this is the error I get:
[INF] Loading classpath entry /var/www/html/applications/web/ext421/ext/src
/home/ec2-user/bin/Sencha/Cmd/3.1.2.342/sencha: line 58: 19461 Killed
java $jvmArgs -jar $BASEDIR/sencha.jar "$#"
And it looks like my sass/config.rb is a bit unfinished...
cur_dir = File.dirname(__FILE__)
output_style = :nested
I'm running Ruby 1.9.3, Sencha CMD 3.1.2.342, and Java 1.7.0_25. I'm also on a 64-bit Amazon Linux AMI instance.
I'm so confused what the problem is... I have this working on my work laptop (Mac OSX Lion), but I cannot figure out what I'm doing wrong on my ec2 instance. Any help would be greatly appreciated!
Cross posted from Sencha forums.
I have no idea what I did, but I diffed sencha and sencha-3.1.2.342... the only difference was the end of the file, indicating that the sencha binary did not have a newline at the end. I did a hexdump on both of the files, and sure enough, it did not. I edited the file and added one by just hitting return at the end of the file. This seemed to make the file happy.
Now, I've gone back and removed this newline, and the file still runs. Baffling. I have no idea why it's working... I even went back and re-ran the installer, now it works. Maybe I'm just going crazy?
There's been a great deal of discussing this topic in the Sencha thread I started... it kind of sounds like Java is running out of memory, but we're not 100% sure on this diagnosis. If someone comes up with a better answer, I'll mark that.
Why do you need to generate workspaces and applications on EC2 instance? Use source control repository instead, generate the files once on your laptop and check them in so you don't have to repeat this every time
Sencha Cmd is compatible with Ext JS 4.1.1a+ and 4.2.x, so no luck with other versions
Not quite sure about Ruby compatibility issues, their versioning system is weird; in Linux Cmd worked for me with Ruby 1.8.7.

Resources