Can't 'npm start' my React project [duplicate] - reactjs

Get this error in windows cmd when I try to build (emulate) Cordova app.
D:\dev\Cordova\toDoList>cordova build android
Running command: D:\dev\Cordova\toDoList\platforms\android\cordova\build.bat
events.js:85
throw er; // Unhandled 'error' event
^
Error: spawn cmd ENOENT
at exports._errnoException (util.js:746:11)
at Process.ChildProcess._handle.onexit (child_process.js:1046:32)
at child_process.js:1137:20
at process._tickCallback (node.js:355:11)
ERROR building one of the platforms: Error: D:\dev\Cordova\toDoList\platforms\android\cordova\build.bat: Command failed with exit code 1
You may not have the required environment or OS to build this project

I checked system variables one more time and found the cause of the problem:
missing C:\Windows\System32\ variable.
I added it and that solved my problem
Hope, it help you too.

just add it to the PATH: C:\Windows\System32 and start cmd as Administrator

Goto > Control Panel\System and Security\System\Advance system setting\Enviroment variable and set system variables path C:\Windows\System32\ variable and restart your System.

I know this is old but I simply had to run Visual Studio 2015 as an administrator and it worked on Windows 7.

I know its too late to answer, but incase if someone ran into trouble again.
I tried the solutions above which tells to add System32 path, But in my case the cordova path was deleted by an accident.
So I added C:\Users\Aquib\AppData\Roaming\npm\node_modules\cordova\bin to environment variable path and it worked !

Related

npm start on new create-react-app build returns ELIFECYCLE error

Made a new react app using create-react-app and now getting the following error in the terminal when running npm start:
> react-scripts start
Attempting to bind to HOST environment variable: x86_64-apple-darwin13.4.0
If this was unintentional, check that you haven't mistakenly set it in your shell.
events.js:167
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND x86_64-apple-darwin13.4.0
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:26)
Emitted 'error' event at:
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1468:12)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:57:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! aqi#0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the aqi#0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/chris/.npm/_logs/2018-12-24T10_07_46_970Z-debug.log
Tried removing the node-module folder and npm install.
type unset HOST in the terminal. It will solve the issue.
I struggled with this exact issue for an entire day. If you do unset HOST, it will solve it, but temporarily. The simple solution to this bug is as follows (this is for Mac, for Window the commands may differ):
Open your bash with the following command: open ~/.bash_profile
Write this down (exactly what it says) all the way down the file once the file opens: HOST="localhost"
After that, save the file and quit (Command + q)
Finally, reload the environment by typing this on the terminal:
source ~/.bash_profile
If you do all the steps correctly, this should resolve the bug.
Mostly the problem occurs when you set a specific hostname instead of regular used one localhost.
On Mac/Linux terminal run hostname, you will receive the specified hostname. If it's something different than localhost refer to your bash profile config file (ie for ZSH it's .zshrc, or for Bash it's .bashrc in your home directory); and if HOST=localhost exists in the profile comment it.
PS: do not forget to restart your terminal to make the change takes effect.
I also struggled with this. Many online solutions only solve the first part. Here I'll provide my approach to fully solve the issue and make npm start work
Understand the issue:
There are 2 parts to the problem. First, you want to set your environmental variable, HOST, to "localhost". You can do it by typing in your terminal (anywhere):
nano ~/.bash_profile
In the bash file, type HOST="localhost" in a new line and type: export HOST. This directs your program to go to this HOST by default
Save change by Ctrl + X, then press Y (Yes), then press Enter
Return to your terminal, run: source ~/.bash_profile to refresh the terminal
Now, your computer has updated its HOST variable to localhost. You can check that by typing: env | grep HOST in the terminal. Grep means to grab that variable in the variable list.
Hopefully that solves the issue fully. If you then encounter: dyld: lazy symbol binding failed.
This simply means there's something wrong with the fsevents. Why? I am not sure, but a sure fix is by deleting the node_modules/fsevent files from my search. A permanent fix is to remove the node modules and re-do the npm install. Make sure that fsevent is version 2.0+!
Hope that helps. This surely took some time to debug!
References:
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
https://medium.com/#choy/fixing-create-react-app-when-npm-fails-to-start-because-your-host-environment-variable-is-being-4c8a9fa0b461
https://medium.com/#youngstone89/setting-up-environment-variables-in-mac-os-28e5941c771c
I was able to fix the similar error by running npm install create-react-app instead of npm install -g create-react-app. Hope it helps.
you should create .env files
https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables#adding-development-environment-variables-in-env
read this Environments in Create React App
https://serverless-stack.com/chapters/environments-in-create-react-app.html
unset HOST
This worked for me, if not, then run the code and give it a reboot
I ran into this issue because I usually had anaconda running as default in the terminal. So my login is not just my computer login account but appending with some string created by conda. (eg xxx#xxx)
However, in order to get the react server up and running normally you will need to have your login as your computer login id. (eg xxx#)
There are two solutions to achieve this.
to run unset HOST, it will get rid of the string at # of your terminal log in id.
to add HOST as env var to your terminal config file. For zsh user (most likely cos mac now run zsh as default in the terminal) You need to add export HOST="localhost" or export HOST="" to ~/.zshrc and run source ~/.zshrc in the terminal to refresh the new zsh config. You can do the same to bash config file by following one of the answers above.
GOOD LUCK.
Attempting to bind to HOST environment variable: x86_64-apple-darwin13.4.0
If this was unintentional, check that you haven't mistakenly set it in your shell.
This issue comes once we write npm start in terminal, to rectify the issue in your terminal before executing the command npm start write unset HOST then write the command npm start it works fine and you can check on localhost://3000

Cannot deploy to with gh-pages with specific project due to error: cannot spawn sh: No such file or directory

Keep getting the error:
error: cannot spawn sh: No such file or directory
fatal: unable to fork
The project builds correctly but when trying to deploy my website it fails.
Website was created with "create-react-app" on my windows 8 pc with the command "gh-pages -d build"
This issue only occurs in this specific project on my pc as when I create a new project with "create-react-app" on my pc it'll deploy fine. This specific project can also be deployed fine with "gh-pages -d build" on my mac but not my pc.
Error of failing to deploy on console
Error log console references
Repository
Somewhere along the line I must've messed up something. I've looked over the web, tried reinstalling git, editor, dependencies and am super confused as to what's causing this. It must be an operating system difference? Thanks!
It's trying to spawn sh.exe but can't find it.
You need to add the git directory that contains sh.exe to your system variables.
(go start and type: 'path'. This should provide you with a shortcut to 'system environment variables'. If not look up how to edit environment variables on your version of windows.)
Once you have the environment variables dialogue box open, have a look in the System variables > 'path' list. There may be a git directory there that doesn't contain sh.exe. You need to replace it with one that does (ensure this also contains git.exe).
On my pc sh.exe was found in:
C:\Program Files\Git\bin
Once this is done restart the terminal and attempt to deploy again.

Play Application Couldn't be Started

Recently I've been assigned for a project created with AngularJs and it uses Java Play framework to run it. I use IntelliJ-Idea IDE for the development and to run this application.
Once I clicked on "Run", it gives me following errors in the console.
'force' enabled
Will run: [gulp, --gulpfile=gulpfile.js, watch, --force] in /home/supuns/Projects/bd-business-portal/ui
java.io.IOException: Cannot run program "gulp" (in directory "/home/supuns/Projects/bd-business-portal/ui"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
[trace] Stack trace suppressed: run 'last compile:run' for the full output.
[error] (compile:run) java.io.IOException: Cannot run program "gulp" (in directory "/home/supuns/Projects/bd-business-portal/ui"): error=2, No such file or directory
[error] Total time: 2 s, completed Oct 24, 2016 10:54:25 AM
Process finished with exit code 1
I can't figure out what is happening because I'm new to the environment.
UPDATE:
Sorry about the less information I have given in my question. I have globally installed gulp but still it is not working.
Here's the content of build.sbt file.
name := """bd-business-portal"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs
)
With the help of my team members I have found the reason that cause this issue is IntelliJ-Idea doesn't know the path to 'Gulp'. I'm using Ubuntu 16.04 and even though I have set the path globally it doesn't understand where to find gulp.
Therefore I have installed sbt and from the IntelliJ terminal ran the command:
sbt run
and it worked.
Update
As I had to work on multiple Play framework sbt projects, doing "sbt run" on the terminal and closing IntelliJ windows to free the port was bit hectic. Therefore I decided to find the actual path variable that created this behavior and I found the PATH variable saved in /etc/environment was "/home/supuns/.nvm/versions/node/v6.9.1/bin/gulp" and I changed it to
/home/supuns/.nvm/versions/node/v6.9.1/bin
Then the IntelliJ "Play" button worked as intended.
I also faced the same issue. I fixed it by installing gulp cli along with gulp. Below 2 commands fixed my problem:
npm install -global gulp-cli
npm install gulp --save-dev

Error: EPERM: operation not permitted, open "C"

I am getting following error while running a build definition.
I tried to give read/write permission by right clicking the Builds directory, but after running the build using build definition the permissions get reset.
The files get created by calling "gulp" command from a post script bat file.
How to get rid of this error?
I was wondering if it's related to the npm install issue. Please refer this npm install fails on Windows with "EPERM, operation not permitted" for more details.
Here is also a similar question Visual Studio 2015 hybrid app - getting "EPERM, operation not permitted"

Fatal error: spawn cmd ENOENT - Grunt Serve

When i run grunt serve i get this.
Running "browserSync:livereload" (browserSync) task
[BS] Access URLs:
------------------------------------
Local: http://localhost:9000
External: http://192.168.1.5:9000
------------------------------------
UI: http://localhost:3001
UI External: http://192.168.1.5:3001
------------------------------------
[BS] Serving files from: .tmp
[BS] Serving files from: app
[BS] Watching files...
Fatal error: spawn cmd ENOENT
Hello Stackoverflow! I have been trying get the yeoman-angular server running. I have got the server running before but now i keep getting this error.
I believe the major problem here is Spawn cmd ENOENT. I have googled the error but i still have no idea what to do. It seems my Path environment is messed up. Please help!
I had this same error running grunt serve on a 64-bit Windows 7 system. I've never experienced this problem on my Macbook Air. What worked for me was right-clicking and opening the Command Prompt using "Run as Administrator." I was then able to navigate to my project directory and run grunt serve without errors. I noticed that this modified my system path, so I agree that this is probably a path-related issue.
I had the same problem running browserSync on Windows 7 64-bit.
Just in case if anyone stumbles across the same problem, I had to add %SystemRoot%\system32 to PATH environment variable and it solved the issue. %SystemRoot% usually resolves to C:\Windows\system32 (and it contains cmd.exe).
I remembered this solution from one of the issues in GitHub browser-sync repo. I will update the answer with the issue link, if I find it.

Resources