Here is the failure:
$ npm start
> [email protected] start /Users/dceddia/Projects/pure-react/sandbox/bug-test-copy
> react-scripts start
module.js:339
throw err;
^
Error: Cannot find module 'cross-spawn'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/Users/dceddia/Projects/pure-react/sandbox/bug-test-copy/node_modules/.bin/react-scripts:3:13)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:457:10)
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/5.0.0/bin/node" "/Users/dceddia/.node/bin/npm" "start"
npm ERR! node v5.0.0
npm ERR! npm v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'react-scripts start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the bug-test package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! react-scripts start
npm ERR! You can get their info via:
npm ERR! npm owner ls bug-test
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/dceddia/Projects/pure-react/sandbox/bug-test-copy/npm-debug.log
To reproduce:
$ create-react-app bug-test
$ cp -r bug-test bug-test-copy
$ cd bug-test-copy
$ npm start
At first I thought it might have something to do with having run npm start
from within bug-test
before copying it, but skipping that step didn't have any effect.
Removing node_modules
and reinstalling them fixes it:
$ cd bug-test-copy
$ rm -r node_modules
$ npm install
$ npm start # works!
Using cp -a
instead of cp -r
does not cause the problem:
$ create-react-app bug-test
$ cp -a bug-test bug-test-copy
$ cd bug-test-copy
$ npm start # works!
I'm running Node 5.0.0 and npm 3.3.12.
I tried (via nvm) with Node 6.3.1 and npm 3.10.3 and got the same behavior.
The cp -a
vs cp -r
makes me think this might be an npm bug.
Manually running the start.js
script works whether I'm using the project copied with cp -a
or cp -r
:
$ node node_modules/react-scripts/scripts/start.js # works!
Oddly, when comparing the 2 projects side-by-side, the node_modules
directories appear to be identical:
$ create-react-app bug1
$ cp -r bug1 bug2r
$ cp -a bug1 bug2a
$ diff --brief -r bug2a/node_modules bug2r/node_modules # no output
I was intrigued so I dug into this real quick.
The problem is that cp -r
doesn't necessarily preserve symlinks, and just copies the file contents instead.
npm run start
uses the react-scripts
bin file, which is at ./node_modules/.bin/react-scripts
however, this should be symlinked into ./node_modules/react-scripts/bin/react-scripts.js
. This symlink means that npm can find the cross-spawn
module which is a subdependency of react-scripts.
However, cp -r
doesn't preserve that symlink, and instead just copies the contents of the .bin
file. npm now doesn't know to look within the node_modules/react-scripts/node_modules
dir to find cross-spawn.
cp -a
will preserve symlinks, so avoids the problem.
Looks like diff
in general just resolves symlinks and compares the file contents, hence it not spotting this issue.
I'm not sure that this can really be resolved by create-react-app
. Perhaps npm should be detecting non-symlinks in ./node_modules/.bin
I dunno?
I鈥檒l close because this is not actionable for us鈥攊t鈥檚 just how npm
bin works.
Same problem here
$ npm install -g npm@latest # or, npm install -g npm@latest --prefix "C:\Program Files\nodejs"
$ rm -rf node_modules # or, `cmd /c rmdir /s /q node_modules` on Windows
$ npm install
@kenkoooo Thank you so much your solution worked perfectly!
@kenkoooo Thanks again you solution fix my app.
@kenkoooo Thank you!
Facing the same issue! But any of above mentioned solutions didn't work for me. I'm on Ubuntu 16.04.
If npm is failing it's worth giving yarn a try. I had a few intermittent npm failures on our CI server at one point, and switching to yarn solved them.
@allpratik If you have a package-lock.json
file, try:
$ rm package-lock.json
$ rm -rf node_modules
$ npm install
Also if you use npm 5.x, downgrade to 4.x.
npm -v
npm i -g [email protected]
npm 5.x has many known issues right now and is buggy.
I upgraded to npm 5.1.0 and it fixed the problem for me. I blew out my node_modules
folder after upgrading and ran npm i
again.
Please help me :(
0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli 'C:\Users\hajar\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js',
1 verbose cli 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]~prestart: [email protected]
6 info lifecycle [email protected]~start: [email protected]
7 verbose lifecycle [email protected]~start: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]~start: PATH: C:UsershajarAppDataRoamingnpmnode_modulesnpmbinnode-gyp-bin;C:UsershajarDesktopvscveilleapp2node_modules.bin;C:oraclexeapporacleproduct11.2.0serverbin;C:Program Files (x86)AMD APPbinx86_64;C:Program Files (x86)AMD APPbinx86;C:ProgramDataOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)AMDATI.ACECore-Static;C:Program Files (x86)ATI TechnologiesATI.ACECore-Static;C:Program Files (x86)Bracketscommand;C:Program Files (x86)Microsoft SDKsTypeScript2.4;C:Program FilesGitcmd;C:Program Filesnodejs;C:UsershajarAppDataRoamingnpmnode_modulesnpmbinnode-gyp-bin;C:UsershajarDesktopvscveilleapp2node_modules.bin;C:oraclexeapporacleproduct11.2.0serverbin;C:Program Files (x86)AMD APPbinx86_64;C:Program Files (x86)AMD APPbinx86;C:ProgramDataOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)AMDATI.ACECore-Static;C:Program Files (x86)ATI TechnologiesATI.ACECore-Static;C:Program Files (x86)Bracketscommand;C:Program Files (x86)Microsoft SDKsTypeScript2.4;C:Program FilesGitcmd;C:Program Filesnodejs;C:Program Filessts-bundlests-3.8.4.RELEASE;C:Program Files (x86)Microsoft SDKsTypeScript2.4;C:Program FilesMongoDBServer3.4bin;C:UsershajarAppDataRoamingnpm;C:Program Filesnodejs;C:UsershajarDesktopvscveilleapp2node_modules
9 verbose lifecycle [email protected]~start: CWD: C:UsershajarDesktopvscveilleapp2
10 silly lifecycle [email protected]~start: Args: [ '/d /s /c', 'tsc && concurrently "tsc -w" "lite-server" ' ]
11 silly lifecycle [email protected]~start: Returned: code: 2 signal: null
12 info lifecycle [email protected]~start: Failed to exec start script
13 verbose stack Error: [email protected] start: tsc && concurrently "tsc -w" "lite-server"
13 verbose stack Exit status 2
13 verbose stack at EventEmitter.
13 verbose stack at emitTwo (events.js:106:13)
13 verbose stack at EventEmitter.emit (events.js:191:7)
13 verbose stack at ChildProcess.
13 verbose stack at emitTwo (events.js:106:13)
13 verbose stack at ChildProcess.emit (events.js:191:7)
13 verbose stack at maybeClose (internal/child_process.js:891:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
14 verbose pkgid [email protected]
15 verbose cwd C:UsershajarDesktopvscveilleapp2
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Users\hajar\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "start"
18 verbose node v6.11.1
19 verbose npm v5.3.0
20 error code ELIFECYCLE
21 error errno 2
22 error [email protected] start: tsc && concurrently "tsc -w" "lite-server"
22 error Exit status 2
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 2, true ]
I faced this problem when moving from npm
to yarn
, and
rm -rf node_modules
yarn install
solved it
If you change node_modules directory you have to change paths also inside node_modules/* package.json files. Search and replace \old_path to new one.
With Eclipse it is easy task with file search and replace.
If you want to change /src path then modify react-scripts/config/paths.js
thanks锛宨t is save me
@latentflip You are really right, thank you very much. So many people just said the solution while you told us the truth.
@kenkoooo Thanks it worked for me.
yeah
Just wanted this.
I just ran into this error when copying the create-react-app contents to a new directory.
All I had to do was:
Most helpful comment