• uniapp项目初始化时报gyp ERR


    电脑重装后,安装了node 18.16.1-x64,编写后端代码时都没遇到什么问题。

    uniapp项目初始化时报gyp ERR,具体报错如下:

    npm ERR! code 1
    npm ERR! path D:\postman\hksvn\project\uniapp*\node_modules\node-sass
    npm ERR! command failed
    npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
    npm ERR! Building: D:\Program Files\nodejs\node.exe D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp verb cli [
    npm ERR! gyp verb cli ‘D:\Program Files\nodejs\node.exe’,
    npm ERR! gyp verb cli 'D:\postman\hksvn\project\uniapp\\node_modules\node-gyp\bin\node-gyp.js’,
    npm ERR! gyp verb cli ‘rebuild’,
    npm ERR! gyp verb cli ‘–verbose’,
    npm ERR! gyp verb cli ‘–libsass_ext=’,
    npm ERR! gyp verb cli ‘–libsass_cflags=’,
    npm ERR! gyp verb cli ‘–libsass_ldflags=’,
    npm ERR! gyp verb cli ‘–libsass_library=’
    npm ERR! gyp verb cli ]
    npm ERR! gyp info using node-gyp@7.1.2
    npm ERR! gyp info using node@18.16.1 | win32 | x64
    npm ERR! gyp verb command rebuild []
    npm ERR! gyp verb command clean []
    npm ERR! gyp verb clean removing “build” directory
    npm ERR! gyp verb command configure []
    npm ERR! gyp verb find Python Python is not set from command line or npm configuration
    npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
    npm ERR! gyp verb find Python checking if “python3” can be used
    npm ERR! gyp verb find Python - executing “python3” to get executable path
    npm ERR! gyp verb find Python - “python3” is not in PATH or produced an error
    npm ERR! gyp verb find Python checking if “python” can be used
    npm ERR! gyp verb find Python - executing “python” to get executable path
    npm ERR! gyp verb find Python - “python” is not in PATH or produced an error
    npm ERR! gyp verb find Python checking if “python2” can be used
    npm ERR! gyp verb find Python - executing “python2” to get executable path
    npm ERR! gyp verb find Python - “python2” is not in PATH or produced an error
    npm ERR! gyp verb find Python checking if Python is C:\Python37\python.exe
    npm ERR! gyp verb find Python - executing “C:\Python37\python.exe” to get version
    npm ERR! gyp verb find Python - “C:\Python37\python.exe” could not be run
    npm ERR! gyp verb find Python checking if Python is C:\Python27\python.exe
    npm ERR! gyp verb find Python - executing “C:\Python27\python.exe” to get version
    npm ERR! gyp verb find Python - “C:\Python27\python.exe” could not be run
    npm ERR! gyp verb find Python checking if the py launcher can be used to find Python
    npm ERR! gyp verb find Python - executing “py.exe” to get Python executable path
    npm ERR! gyp verb find Python - “py.exe” is not in PATH or produced an error
    npm ERR! gyp ERR! find Python
    npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration
    npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
    npm ERR! gyp ERR! find Python checking if “python3” can be used
    npm ERR! gyp ERR! find Python - “python3” is not in PATH or produced an error
    npm ERR! gyp ERR! find Python checking if “python” can be used
    npm ERR! gyp ERR! find Python - “python” is not in PATH or produced an error
    npm ERR! gyp ERR! find Python checking if “python2” can be used
    npm ERR! gyp ERR! find Python - “python2” is not in PATH or produced an error
    npm ERR! gyp ERR! find Python checking if Python is C:\Python37\python.exe
    npm ERR! gyp ERR! find Python - “C:\Python37\python.exe” could not be run
    npm ERR! gyp ERR! find Python checking if Python is C:\Python27\python.exe
    npm ERR! gyp ERR! find Python - “C:\Python27\python.exe” could not be run
    npm ERR! gyp ERR! find Python checking if the py launcher can be used to find Python
    npm ERR! gyp ERR! find Python - “py.exe” is not in PATH or produced an error
    npm ERR! gyp ERR! find Python
    npm ERR! gyp ERR! find Python **********************************************************
    npm ERR! gyp ERR! find Python You need to install the latest version of Python.
    npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
    npm ERR! gyp ERR! find Python you can try one of the following options:
    npm ERR! gyp ERR! find Python - Use the switch --python=“C:\Path\To\python.exe”
    npm ERR! gyp ERR! find Python (accepted by both node-gyp and npm)
    npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
    npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
    npm ERR! gyp ERR! find Python npm config set python “C:\Path\To\python.exe”
    npm ERR! gyp ERR! find Python For more information consult the documentation at:
    npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
    npm ERR! gyp ERR! find Python **********************************************************
    npm ERR! gyp ERR! find Python
    npm ERR! gyp ERR! configure error
    npm ERR! gyp ERR! stack Error: Could not find any Python installation to use
    npm ERR! gyp ERR! stack at PythonFinder.fail (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-python.js:302:47)
    npm ERR! gyp ERR! stack at PythonFinder.runChecks (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-python.js:136:21)
    npm ERR! gyp ERR! stack at PythonFinder. (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-python.js:200:18)
    npm ERR! gyp ERR! stack at PythonFinder.execFileCallback (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-python.js:266:16)
    npm ERR! gyp ERR! stack at exithandler (node:child_process:427:5)
    npm ERR! gyp ERR! stack at ChildProcess.errorhandler (node:child_process:439:5)
    npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
    npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:289:12)
    npm ERR! gyp ERR! stack at onErrorNT (node:internal/child_process:476:16)
    npm ERR! gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
    npm ERR! gyp ERR! System Windows_NT 10.0.22000
    npm ERR! gyp ERR! command “D:\Program Files\nodejs\node.exe” "D:\postman\hksvn\project\uniapp\
    \node_modules\node-gyp\bin\node-gyp.js" “rebuild” “–verbose” “–libsass_ext=” “–libsass_cflags=” “–libsass_ldflags=” “–libsass_library=”
    npm ERR! gyp ERR! cwd D:\postman\hksvn\project\uniapp*
    ****\node_modules\node-sass
    npm ERR! gyp ERR! node -v v18.16.1
    npm ERR! gyp ERR! node-gyp -v v7.1.2
    npm ERR! gyp ERR! not ok
    npm ERR! Build failed with error code: 1

    原来以为是没有安装python2,安装之后还是报错,这次报找不到VS2013

    npm ERR! code 1
    npm ERR! path D:\postman\hksvn\project\uniapp*\node_modules\node-sass
    npm ERR! command failed
    npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
    npm ERR! Building: D:\Program Files\nodejs\node.exe D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp verb cli [
    npm ERR! gyp verb cli ‘D:\Program Files\nodejs\node.exe’,
    npm ERR! gyp verb cli 'D:\postman\hksvn\project\uniapp\\node_modules\node-gyp\bin\node-gyp.js’,
    npm ERR! gyp verb cli ‘rebuild’,
    npm ERR! gyp verb cli ‘–verbose’,
    npm ERR! gyp verb cli ‘–libsass_ext=’,
    npm ERR! gyp verb cli ‘–libsass_cflags=’,
    npm ERR! gyp verb cli ‘–libsass_ldflags=’,
    npm ERR! gyp verb cli ‘–libsass_library=’
    npm ERR! gyp verb cli ]
    npm ERR! gyp info using node-gyp@7.1.2
    npm ERR! gyp info using node@18.16.1 | win32 | x64
    npm ERR! gyp verb command rebuild []
    npm ERR! gyp verb command clean []
    npm ERR! gyp verb clean removing “build” directory
    npm ERR! gyp verb command configure []
    npm ERR! gyp verb find Python Python is not set from command line or npm configuration
    npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
    npm ERR! gyp verb find Python checking if “python3” can be used
    npm ERR! gyp verb find Python - executing “python3” to get executable path
    npm ERR! gyp verb find Python - “python3” is not in PATH or produced an error
    npm ERR! gyp verb find Python checking if “python” can be used
    npm ERR! gyp verb find Python - executing “python” to get executable path
    npm ERR! gyp verb find Python - executable path is “C:\Python27\python.exe”
    npm ERR! gyp verb find Python - executing “C:\Python27\python.exe” to get version
    npm ERR! gyp verb find Python - version is “2.7.18”
    npm ERR! gyp info find Python using Python version 2.7.18 found at “C:\Python27\python.exe”
    npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 18.16.1
    npm ERR! gyp verb command install [ ‘18.16.1’ ]
    npm ERR! gyp verb install input version string “18.16.1”
    npm ERR! gyp verb install installing version: 18.16.1
    npm ERR! gyp verb install --ensure was passed, so won’t reinstall if already installed
    npm ERR! gyp verb install version is already installed, need to check “installVersion”
    npm ERR! gyp verb got “installVersion” 9
    npm ERR! gyp verb needs “installVersion” 9
    npm ERR! gyp verb install version is good
    npm ERR! gyp verb get node dir target node version installed: 18.16.1
    npm ERR! gyp verb build dir attempting to create “build” dir: D:\postman\hksvn\project\uniapp*
    \node_modules\node-sass\build
    npm ERR! gyp verb build dir “build” dir needed to be created? D:\postman\hksvn\project\uniapp*
    \node_modules\node-sass\build
    npm ERR! gyp verb find VS msvs_version not set from command line or npm config
    npm ERR! gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
    npm ERR! gyp verb find VS could not use PowerShell to find Visual Studio 2017 or newer, try re-running with ‘–loglevel silly’ for more details
    npm ERR! gyp verb find VS looking for Visual Studio 2015
    npm ERR! gyp verb find VS - not found
    npm ERR! gyp verb find VS not looking for VS2013 as it is only supported up to Node.js 8
    npm ERR! gyp ERR! find VS
    npm ERR! gyp ERR! find VS msvs_version not set from command line or npm config
    npm ERR! gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
    npm ERR! gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer, try re-running with ‘–loglevel silly’ for more details
    npm ERR! gyp ERR! find VS looking for Visual Studio 2015
    npm ERR! gyp ERR! find VS - not found
    npm ERR! gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
    npm ERR! gyp ERR! find VS
    npm ERR! gyp ERR! find VS **************************************************************
    npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studio
    npm ERR! gyp ERR! find VS including the “Desktop development with C++” workload.
    npm ERR! gyp ERR! find VS For more information consult the documentation at:
    npm ERR! gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
    npm ERR! gyp ERR! find VS **************************************************************
    npm ERR! gyp ERR! find VS
    npm ERR! gyp ERR! configure error
    npm ERR! gyp ERR! stack Error: Could not find any Visual Studio installation to use
    npm ERR! gyp ERR! stack at VisualStudioFinder.fail (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-visualstudio.js:121:47)
    npm ERR! gyp ERR! stack at D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-visualstudio.js:74:16
    npm ERR! gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-visualstudio.js:351:14)
    npm ERR! gyp ERR! stack at D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-visualstudio.js:70:14
    npm ERR! gyp ERR! stack at D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\find-visualstudio.js:372:16
    npm ERR! gyp ERR! stack at D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\util.js:54:7
    npm ERR! gyp ERR! stack at D:\postman\hksvn\project\uniapp*
    \node_modules\node-gyp\lib\util.js:33:16
    npm ERR! gyp ERR! stack at ChildProcess.exithandler (node:child_process:427:5)
    npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28)
    npm ERR! gyp ERR! stack at maybeClose (node:internal/child_process:1091:16)
    npm ERR! gyp ERR! System Windows_NT 10.0.22000
    npm ERR! gyp ERR! command “D:\Program Files\nodejs\node.exe” "D:\postman\hksvn\project\uniapp\
    \node_modules\node-gyp\bin\node-gyp.js" “rebuild” “–verbose” “–libsass_ext=” “–libsass_cflags=” “–libsass_ldflags=” “–libsass_library=”
    npm ERR! gyp ERR! cwd D:\postman\hksvn\project\uniapp*
    \node_modules\node-sass
    npm ERR! gyp ERR! node -v v18.16.1
    npm ERR! gyp ERR! node-gyp -v v7.1.2
    npm ERR! gyp ERR! not ok
    npm ERR! Build failed with error code: 1

    估计是当前node的版本与node-gyp对应不上。卸载node v18.16.1,下载node v16.20.2-x64并安装。

    查看node版本:node -v

    v16.20.2
    
    • 1

    查看npm版本:npm -v

    8.19.4
    
    • 1

    查看npm配置信息(里面包含了仓储和缓存路径的默认位置):npm config ls

    ; "builtin" config from D:\Program Files\nodejs\node_modules\npm\npmrc
    
    ; prefix = "C:\\Users\\Administrator\\AppData\\Roaming\\npm" ; overridden by user
    
    ; "user" config from C:\Users\Administrator\.npmrc
    
    cache = "D:\\Program Files\\nodejs\\node_modules\\node_cache"
    prefix = "D:\\Program Files\\nodejs\\node_modules\\node_global"
    
    ; node bin location = D:\Program Files\nodejs\node.exe
    ; node version = v16.20.2
    ; npm local prefix = D:\Program Files\nodejs
    ; npm version = 8.19.4
    ; cwd = D:\Program Files\nodejs\node_modules
    ; HOME = C:\Users\Administrator
    ; Run `npm config ls -l` to show all defaults.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    cache和prefix是之前设置过的,可以通过以下命令修改

    修改prefix的值

    npm config set prefix 【全局仓库地址】(注意路径\要用\)
    修改cache的值:npm config set cache【全局缓存地址】(注意路径\要用\)

    修改完成后再用:npm config ls 查看即可

    npm config set registry https://registry.npmmirror.com/

    npm config get registry
    https://registry.npmmirror.com/

    npm config ls

    ; "builtin" config from D:\Program Files\nodejs\node_modules\npm\npmrc
    
    ; prefix = "C:\\Users\\Administrator\\AppData\\Roaming\\npm" ; overridden by user
    
    ; "user" config from C:\Users\Administrator\.npmrc
    
    cache = "D:\\Program Files\\nodejs\\node_modules\\node_cache"
    prefix = "D:\\Program Files\\nodejs\\node_modules\\node_global"
    registry = "https://registry.npmmirror.com/"
    
    ; node bin location = D:\Program Files\nodejs\node.exe
    ; node version = v16.20.2
    ; npm local prefix = D:\Program Files\nodejs
    ; npm version = 8.19.4
    ; cwd = D:\Program Files\nodejs\node_modules
    ; HOME = C:\Users\Administrator
    ; Run `npm config ls -l` to show all defaults.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    再到uniapp项目中运行npm i,顺利完成。

  • 相关阅读:
    一文讲清楚 JVM Safe Point
    《012.SpringBoot+vue之在线考试系统》【前后端分离&有开发文档】
    并行计算的量化模型及其在深度学习引擎里的应用
    Halcon (5):Halcon Solution Guide I basics 导论解析
    计算机行业已经进入寒冬?云计算帮你解决就业难题!
    Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第9章 axios发送HTTP请求 9.1 安装axios
    element-ui的form校验失败
    【校招VIP】java语言考点之关键字final
    95---Python 直角坐标系下绘制双曲螺旋线
    JDK安装教程、Eclipse安装教程
  • 原文地址:https://blog.csdn.net/Wai_Leung/article/details/133635722