Did I break phonegap when adjusting environment variables on Windows 7? - node.js

Installed node.js
Installed phonegap: npm install -g phonegap
Created the example app: phonegap create hello com.example.hello HelloWorld
Used the run command to test in Android: phonegap run android
What happened next is it didn't detect the Android SDK, so it asked me for build.phonegap.com account. I went ahead and created an account and entered user/pw and like magic, it created the app in the cloud. I pointed my qr code scanner to the screen and it installed on my Android phone. Cool, but...
I wanted to develop locally using the Android emulator. So I followed the instructions (http://docs.phonegap.com/en/3.0.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide) to install Android SDK, change PATH variables, etc.
When I went back to command line and cd to my phonegap root folder, suddenly "'phonegap' is not recognized as an internal or external command...'. I tried to reinstall phonegap with npm and it looks like it installs just fine again, but even when restarting cmd.exe, phonegap commands do not work.
Any ideas? Changing environment variables shouldn't affect phonegap already installed, right? The only other thing I can think is I had to install Ant and made an ANT_HOME system variable..
Apologies for the noob question. I'm sure I'm just messed up something simple here..

Figured this out. I accidentally DELETED the environment variables for node.js when I was trying to APPEND additional environment variables manually for android sdk & Ant. Since phonegap was installed as a node package, it wasn't recognized.

Better reinstall using the Msysgit and give the correct path. In my case envi variable path is as follows,
C:\Program Files\nodejs\; ->NodeJS path
F:\windows_adt\sdk\platform-tools; ->SDK Platform Tools
F:\windows_adt\sdk\tools; ->SDK Tools
C:\msysgit\bin; ->Bin Folder
C:\msysgit\git; ->git
C:\msysgit\libexec\git-core; ->git-core, if you want.
To reduce further errors use the recommended msysgit shell.

Related

Changing CAPACITOR_ANDROID_STUDIO_PATH in Arch Linux

I'm trying to set up my development environment for CapacitorJS on Arch Linux.
I followed the documentation and added
CAPACITOR_ANDROID_STUDIO_PATH=/usr/bin/android-studio
to my systems environment variables (not the project) but I'm still getting the same error
[error] Unable to launch Android Studio. Is it installed?
Attempted to open Android Studio at:
/usr/local/android-studio/bin/studio.sh
You can configure this with the CAPACITOR_ANDROID_STUDIO_PATH
environment variable.
Even though It's never pointed to /usr/local/android-studio/bin/studio.sh
I ran whereis android-studio and got android-studio: /usr/bin/android-studio, so I thought that would be the correct path, but every time I run npx cap open android it says it's trying it launch from the same path and never changes
It depends how you've installed it, for example Toolbox installs it inside the user's home directory.
nano ~/.bashrc
export CAPACITOR_ANDROID_STUDIO_PATH=~/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/202.7486908/bin/studio.sh
locate studio.sh might be able to find it, too.

gulp integration in Visual Studio 2017 not working

I'm attempting to get gulp integration into Visual Studio 2017. It's working on the command line. The Task Runner Explorer in VS2017 is telling me Failed to load. See output window.
The Output Window is telling me the following:
Failed to run "<ProjectPath>\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
<ProjectPath>\node_modules\node-sass\lib\binding.js:15
throw new Error(errors.missingBinary());
^
Error: Missing binding <ProjectPath>\node_modules\node-sass\vendor\win32-x64-47\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 5.x
Found bindings for the following environments:
- Windows 64-bit with Node.js 8.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass --force` to build the binding for your current environment.
I attempt to run npm rebuild node-sass --force, only to be told Error: Can't find Python executable "C:\Python36\python.EXE", you can set the PYTHON env variable., which I confirmed existed.
I'm not sure how much farther I want to go down this rabbit hole. It appears to be a VS issue since everything works as expected on the command line. I'd like to get the gulp integration with VS working correctly.
Point your VS tools to the node installation on your path.
I can see in the error that there a version discrepancy between 5.x and 8.x - with VS likely being the older one (since it ships with pre-packaged and outdated node) and is taking execution precedence with the default setup.
I'm guessing you installed node-sass via your 8.x (external command line) instance but VS is trying to execute your gulp tasks via your VS's internal 5.x. node-sass leverages node-gyp to build a binary via installation scripts, and there will be incompatibilities across versions. In other words, this package, and many others that build binaries, are specifically tailored to the version of node it was installed against. To summarize, everything in node_modules/.bin is built against 8.x but is actually running on 5.x when you do so through Visual Studio.
Fear not, this is easily solved. Check out this answer for some historical context on this long running issue that many face. Basically, you want $(PATH) to be at the top of this list so your OS installation is always used...
Once you do this (just to be safe) - blow away node_modules, reinstall, and happy coding. VS really needs to stop shipping with pinned versions of node...
I ran into this problem on both Visual Studio 2017 and 2019. Apparently my Node install wasn't registered in the PATH variable (and I don't have permission to modify this on my work machine), so I manually added the link to Node at C:\Program Files\nodejs, moved that to the top location and that worked for me.
This drove me nuts until I found one more missing thing. Even if you configured everything as in the other answers you can get the same error, possibly if your user folder is not on the same drive as where Node is installed. Then also add %APPDATA%\npm to the external tools paths so globally installed Node tools will be found too.
So all in all the external tools config in VS should contain these two paths first, in this order:
C:\Program Files\NodeJS (or where you have Node installed).
%APPDATA%\npm
For me without #2 everything was working from the command line everywhere but not in VS. With it added everything now works in VS too.

Electron throwing error %1 is not a valid win32 application with custom node addon

I've written a custom node addon that works perfectly fine when running the 64 bit version of Electron.
I tried setting the architecture to ia32 and everything builds, but I get the not valid win32 application error, no matter what I do.
My environment settings are:
npm_config_disturl=https://atom.io/download/atom-shell
set npm_config_target=1.0.1
set npm_config_arch=ia32
set npm_config_runtime=electron
set HOME="C:\Users\myHome\.electron-gyp"
set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
I have been building the addon by calling npm install.
Here's how I set my node to target 32 bit and install all packages in 32bit format. It works for me. You may try.
npm set npm_config_arch ia32
npm clean-install --arch=ia32
The first command set the node environment to 32bit.
The second command re-install all the node packages that are 32bit compatible.
I was trying to compile for windows from mi Mac and I had that problem too, but after some readings I figured out how to proceed, and after all I can say that I got it. Yesterday I spent all day setting up a windows virtual machine in my (other) Linux laptop (I used my linux laptop just because my mac was exhausted in storage...). I was having too a problem with the preloadScript from electron main process in windows, Cant found the script, it was solved too.
Anyway, I think the library node printer from #tojocky is well maintained, in other hand in the electron-builder documentation they say that you should compile in native for natural reasons. Once you will have it, you'll see that it's a cleaner and pragmatic solution ...
This was my entire process, I hope it helps to someone having the same issue:
Get VirtualBox (or Parallels but is not free)
Get iso for W10
Create a VM with this W10 iso, and you should give to this VM some storage (because some dependency that you'll need to compile), I have assigned 60gb to this VM
Once I had that VM running, I just installed in that machine Visual Studio 2017 (with their build-tools included, it's necessary)
And then, I used CMD to make the rest
Install NodeJS (and NPM, but it comes with)
Install node-gyp globally
Install Python 2.7
Clone your project from git (in my case)
npm i (in your project), you should have as npm dependency in your package.json the module electron-builder of course. (here I had some troubles because when node-gyp tried to rebuild printer to generate the binary for windows it was failing, this was because it was imposible to find the python executable, so if you face this problem you should add it like:npm config set python "c:\Python27\python.exe" in my case )
Then try again npm i and Voila!
After all, you should make the build using electron-builder, in my case my npm script command was build --win --x64 but you can use the --ia32 flag as well for 32bits

Can't find Git or Cordova on your path (Windows/Netbeans), Can't find GitHub under AppData/Local, FIX 2015

Error: NetBeans cannot find git or cordova on your path.
When trying to create a new Cordova Application in Netbeans.
How to fix? > THE ANSWER CAN BE FOUND BELOW :)
If anyone wants to know how to get Cordova working in Netbeans anno 2015/2016 here is the fix:
I have installed:
Git version: 2.5.1 for Windows 64 bit
Cordova version: 4.3.1 for Windows 64 bit
Node.js version: 0.12.0 for Windows 64 bit
Netbeans version: 8.0.2 x86
In Netbeans when I start a new project and select HTML5>Cordova Application then I will get this error:NetBeans cannot find git or cordova on your path.
After some searching on the good old internet, I found some pieces of information hither and thither which was correct but which didn't solve my problem. The reason for this was that it was old or slightly different than my problem. So I did the following to fix this problem:
I checked where my Cordova/npm files where and I happily found them in: C:\Users\\AppData\Roaming\npm
Next I had to find my Git.exe which FOR ME is located in: C:\Program Files\Git\bin (FOR SOME PEOPLE IT CAN BE FOUND IN: C:\Users\\AppData\Local\GitHub\PortableGit_)
Now I found out that Netbeans is using the windows PATH VARIABLES to locate git and cordova. For those who don't where to find or set the system Path Variables this website will help you find or set it: https://java.com/en/download/help/path.xml
I use windows 7 so I did this to change my path variables:"
-Select Computer from the Start menu
-Choose System Properties from the context menu
-Click Advanced system settings > Advanced tab
-Click on Environment Variables, under System Variables, find PATH, and click on it.
-In the Edit windows, modify PATH by adding the location of the class to the value for PATH. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the class as the value.
SO edit path and then you see like C:/apath;C:/asdas; < enter here your git path;<enter here your cordova path and save it by clicking the OK button.
Restart Netbeans and now it has to work.
:)
For those getting here and the solution from #bboni did not work - as it did for me:
Make sure everything is installed correctly by opening a command prompt (open start-menu and type cmd).
Type the following commands git --version, cordova -v and node -v.
For me it looked like this:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\JohnDoe>git --version
git version 2.8.4.windows.1
C:\Users\JohnDoe>cordova -v
6.2.0
C:\Users\JohnDoe>node -v
v4.4.5
That makes sure everything is installed correctly. If one or more commands result in an error, then it's either not installed or not added to PATH as described by #bboni.
Now open your Netbeans and go to Tools → Options → HTML/JS → Mobile Platforms and check if you can see somethink like Installed Cordova version: 6.2.0. This is to make sure Netbeans is basically able to detect Cordova.
At that point all the tutorials I found online ended. I came up with the idea to check if Netbeans' own Terminal would be able to execute the command above as well: Tools → Open in Terminal
I got an error telling me I'd need Cygwin to use the Terminal. So I installed it, restarted Netbeans, opened the Terminal, checked the commands above and they worked.
I checked Configure Cordova again - the error was gone and I could finally ran my app directly from Netbeans as I wanted to.   :)

Vs2013 Nodejs project.. 2nd box..."specified executable is not a valid applications for this OS platfrom

I have a nodejs project in Vs2013
I built it on a w7, 64 bit machine, and it's working, on my main box, check it into TFS and it builds and runs test in Team city. Also runs from a batch file that calls protractor.cmd directly.
I pulled it down on a second box, windows 7, 64 bit
installed Java jdk, VS Node tools, node.js, protractor, VS2013 update 4.
If I run it from the batch file it runs fine. If a debug the project in vs2013 it crashes with the error above
The specified executable is not a valid application for this OS platform.
There are some SO questions that says node.exe is the problem but I searched my drive (with agent ransack) and can't find node.exe anywhere.
I uninstalled the 64 JDK and installed the 32 bit JDK and no joy..
I'm assuming I've installed the wrong version of something.. but I don't know what
Any Ideas? Any Help Is appreciated.
Make sure you added Node.exe to the path.
You said you installed nodejs, so look for Node.exe in something like C:\Program Files\nodejs\
If you can't find Node.exe, then uninstall nodejs and reinstall it and pay attention to where it installs.
Now that you have Node.exe, add it to the path by
right click on My Computer
select Properties
activate the Advanced tab
click the Environment Variables button
edit the Path system variable

Resources