Ionic-app-scripts: Node 8 on Windows: 404 for node-sass binary

Created on 31 May 2017  Â·  3Comments  Â·  Source: ionic-team/ionic-app-scripts

Description of the problem:

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

What behavior are you expecting?

It doesn't crash ;)

Which @ionic/app-scripts version are you using?

"@ionic/app-scripts": "1.3.7" from current Ionic install

Most helpful comment

Same problem. Package.json still pointing to node-sass 4.5.0.
Kindly update to 4.5.3

All 3 comments

1012 includes a bump of that version.

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.

Was this page helpful?
0 / 5 - 0 ratings