最近拉了几个GitHub的项目,好多个安装依赖的时候就报错了,其中一个node-sass的我是真没想到。
先说说npm、cnpm、yarn install的时候,同一个项目会有不同的结果,在同一个项目下:npm:
代码语言:javascript复制npm ERR! Found: swiper@6.8.4
npm ERR! node_modules/swiper
npm ERR! swiper@"^6.3.5" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer swiper@"^5.2.0" from vue-awesome-swiper@4.1.1
npm ERR! node_modules/vue-awesome-swiper
npm ERR! vue-awesome-swiper@"^4.1.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:UsersdellAppDataLocalnpm-cacheeresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! C:UsersdellAppDataLocalnpm-cache_logs2022-05-11T01_47_03_130Z-debug.log
会直接报错包的版本问题,估计yarn和cnpm的报错也会有,但是不知道为什么会报错这个。
cnpm、yarn:
代码语言:javascript复制 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:UsersdellDesktopmylowcodequark-h5-masternode_modules_node-gyp@3.8.0@node-gyplibconfigure.js:484:19)
gyp ERR! stack at PythonFinder.<anonymous> (C:UsersdellDesktopmylowcodequark-h5-masternode_modules_node-gyp@3.8.0@node-gyplibconfigure.js:509:16)
gyp ERR! stack at callback (C:UsersdellDesktopmylowcodequark-h5-masternode_modules_graceful-fs@4.2.10@graceful-fspolyfills.js:306:20)
gyp ERR! stack at FSReqCallback.oncomplete (node:fs:198:21)
gyp ERR! System Windows_NT 10.0.22000
gyp ERR! command "C:Program Filesnodejsnode.exe" "C:UsersdellDesktopmylowcodequark-h5-masternode_modules_node-gyp@3.8.0@node-gypbinnode-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:UsersdellDesktopmylowcodequark-h5-masternode_modules_node-sass@4.14.1@node-sass
gyp ERR! node -v v16.13.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
可能旧一点的项目用的node-sass,所以需要安装Python,这个问题在之前分享的node-sass相关也有提到,只是那时候没有遇见,就没细说。 有一点挺神奇的,执行了npm、cnpm,没有删掉node_modules,居然是成功,但是启动报错一些依赖包找不到。
上面的不是重点,重点是怎么解决: Error: Can't find Python executable "python", you can set the PYTHON env variable.
网上方法挺多的,能不能行还是得自己尝试,我这边说一下我的解决方法: 执行npm install --global --production windows-build-tools,然后会卡死,可以直接终止。终止之后会有一个路径:
C盘打开这个路径:
双击python-2.7.15.amd64.msi,先选择移除:
然后再双击python-2.7.15.amd64.msi,一路默认next直到finish。
成功之后再去安装依赖就不会报错了。
现在新的包应该都不用node-sass了,但是不知道其它包是否也有依赖Python的,还是得解决一下。