Ionic 2 - Error while installing node_modules with

2019-07-27 10:48发布

问题:

I've installed latest Node JS ( v 8.1.0 ), Ionic and Cordova then tried to install node_modules using npm install command in ionic demo tab project created using ionic start myApp tabs and I got the following error. I'm using Windows 10 Pro. I have tried lot but yet to resolve the worry. any help would be greatly appreciated.

npm install
✖ Running command - failed!
[ERROR] An error occurred while running npm install (exit code 1):

        npm WARN prefer global node-gyp@3.6.2 should be installed with -g

        > node-sass@4.5.0 install E:\Hybrid Project Locker\NFB\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

        > fsevents@1.1.1 install E:\Hybrid Project Locker\NFB\node_modules\fsevents
        > node install


        > node-sass@4.5.0 postinstall E:\Hybrid Project Locker\NFB\node_modules\node-sass
        > node scripts/build.js

        Building: C:\Program Files\nodejs\node.exe E:\Hybrid Project Locker\NFB\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldf
lags= --libsass_library=
        gyp info it worked if it ends with ok
        gyp verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
        gyp verb cli   'E:\\Hybrid Project Locker\\NFB\\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 node-gyp@3.6.2
        gyp info using node@8.1.0 | 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 (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:13:12)
        gyp verb `which` failed     at F (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:68:19)
        gyp verb `which` failed     at E (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:80:29)
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\which\which.js:89:16
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\isexe\index.js:42:5
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\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 (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:13:12)
        gyp verb `which` failed     at F (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:68:19)
        gyp verb `which` failed     at E (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:80:29)
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\which\which.js:89:16
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\isexe\index.js:42:5
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\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 (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:13:12)
        gyp verb `which` failed     at F (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:68:19)
        gyp verb `which` failed     at E (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:80:29)
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\which\which.js:89:16
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\isexe\index.js:42:5
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\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 (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:13:12)
        gyp verb `which` failed     at F (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:68:19)
        gyp verb `which` failed     at E (E:\Hybrid Project Locker\NFB\node_modules\which\which.js:80:29)
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\which\which.js:89:16
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\node_modules\isexe\index.js:42:5
        gyp verb `which` failed     at E:\Hybrid Project Locker\NFB\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 (E:\Hybrid Project Locker\NFB\node_modules\node-gyp\lib\configure.js:483:19)
        gyp ERR! stack     at PythonFinder.<anonymous> (E:\Hybrid Project Locker\NFB\node_modules\node-gyp\lib\configure.js:508:16)
        gyp ERR! stack     at E:\Hybrid Project Locker\NFB\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.10586
        gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\Hybrid Project Locker\\NFB\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--li
bsass_cflags=" "--libsass_ldflags=" "--libsass_library="
        gyp ERR! cwd E:\Hybrid Project Locker\NFB\node_modules\node-sass
        gyp ERR! node -v v8.1.0
        gyp ERR! node-gyp -v v3.6.2
        gyp ERR! not ok
        Build failed with error code: 1
        npm WARN @angular/http@2.4.10 requires a peer of @angular/platform-browser@2.4.10 but none was installed.
        npm WARN @ionic/cli-plugin-ionic-angular@1.3.0 requires a peer of @ionic/app-scripts@^1.3.7 but none was installed.
        npm WARN cordova-ios@4.4.0 had bundled packages that do not match the required version(s). They have been replaced with non-bundled versions.

        npm ERR! code ELIFECYCLE
        npm ERR! errno 1
        npm ERR! node-sass@4.5.0 postinstall: `node scripts/build.js`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the node-sass@4.5.0 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\Anoop M\AppData\Roaming\npm-cache\_logs\2017-06-10T00_37_25_356Z-debug.log

回答1:

Try with Node.js v6 and it should work. This is because Node Sass v4.5.0 doesn't support Node.js v8

You can check the supported environments for Node Sass v4.5.0 here: https://github.com/sass/node-sass/releases/tag/v4.5.0



回答2:

Change to node-sass 4.5.3 as it fixed error installation on node 8 https://github.com/sass/node-sass/releases



回答3:

  1. Remove the (webpack, sass-loader/less-loader and node-sass) entry in package.json.
  2. Delete the node_modules folder
  3. install with "npm install sass-loader node-sass webpack".

This worked for me.



回答4:

Try to run this command:

npm install --unsafe-perm node-sass