When I try to ionic start an Ionic project on Windows with Node 8 and NPM 5, it fails because it can't download the node-sass binary. I think (and this can be totally wrong!), this is because app-scripts pins node-sass 4.5.0 :
PS C:\Users\Jan\Documents> ionic start v8Test super
? The directory v8Test contains file(s) that could conflict. Would you like to overwrite the directory with this new pr
oject? Yes
✔ Creating directory .\v8Test - done!
[INFO] Fetching app base (https://github.com/driftyco/ionic2-app-base/archive/master.tar.gz)
✔ Downloading - done!
[INFO] Fetching starter template super (https://github.com/driftyco/ionic-starter-super/archive/master.tar.gz)
✔ Downloading - done!
✔ Updating package.json with app details - done!
✔ Creating configuration file ionic.config.json - done!
[INFO] Installing dependencies may take several minutes!
> npm install
✖ Running command - failed!
[ERROR] An error occurred while running npm install (exit code 1):
npm WARN deprecated [email protected]: Please update to the latest object-keys
npm WARN prefer global [email protected] should be installed with -g
> [email protected] install C:\Users\Jan\Documents\v8Test\node_modules\node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.0/win32-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.0/win32-x64-57_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> [email protected] install C:\Users\Jan\Documents\v8Test\node_modules\fsevents
> node install
> [email protected] postinstall C:\Users\Jan\Documents\v8Test\node_modules\node-sass
> node scripts/build.js
Building: C:\Program Files\nodejs\node.exe C:\Users\Jan\Documents\v8Test\node_modules\node-gyp\bin\node-gyp.js r
ebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli 'C:\\Users\\Jan\\Documents\\v8Test\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library=' ]
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed at getNotFoundError (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:13:12
)
gyp verb `which` failed at F (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed python2 { Error: not found: python2
gyp verb `which` failed at getNotFoundError (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:13:12
)
gyp verb `which` failed at F (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21) code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed at getNotFoundError (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:13:12
)
gyp verb `which` failed at F (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed python { Error: not found: python
gyp verb `which` failed at getNotFoundError (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:13:12
)
gyp verb `which` failed at F (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\Jan\Documents\v8Test\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqWrap.oncomplete (fs.js:152:21) code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (C:\Users\Jan\Documents\v8Test\node_modules\node-gyp\lib\configu
re.js:483:19)
gyp ERR! stack at PythonFinder.<anonymous> (C:\Users\Jan\Documents\v8Test\node_modules\node-gyp\lib\configur
e.js:508:16)
gyp ERR! stack at C:\Users\Jan\Documents\v8Test\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Jan\\Documents\\v8Test\\node_modules\\node-gy
p\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=
"
gyp ERR! cwd C:\Users\Jan\Documents\v8Test\node_modules\node-sass
gyp ERR! node -v v8.0.0
gyp ERR! node-gyp -v v3.6.1
gyp ERR! not ok
Build failed with error code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall 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! C:\Users\Jan\AppData\Roaming\npm-cache\_logs\2017-05-31T10_39_55_197Z-debug.log
https://github.com/sass/node-sass/releases/download/v4.5.0/win32-x64-57_binding.node doesn't exist, the "57_binding.node" only appeared later with v4.5.3: https://github.com/sass/node-sass/releases
It doesn't crash ;)
Which @ionic/app-scripts version are you using?
"@ionic/app-scripts": "1.3.7" from current Ionic install
Update: PR changed after this comment, now includes minor upgrades as well.
Same problem. Package.json still pointing to node-sass 4.5.0.
Kindly update to 4.5.3
Had the same issue today because of Node 9.x. Uninstalling it and installing Node 8.x fixed the error.
Most helpful comment
Same problem. Package.json still pointing to node-sass 4.5.0.
Kindly update to 4.5.3