无法安装 node-sass

Posted

技术标签:

【中文标题】无法安装 node-sass【英文标题】:Can't get node-sass to install 【发布时间】:2021-04-28 04:34:05 【问题描述】:

我遇到了很多人都遇到的错误,并认为我找到了解决方案 here。本质上是说我的 node 版本与 node-sass 的版本不兼容。很多人都有同样的问题,所以我相信链接会有所帮助。但是,当我运行 npm install node-sass@4.14.1 时,我得到一个不同的错误。我知道它必须是一些简单的修复,但我找不到它!有谁明白这里发生了什么?

npm ERR! code 1
npm ERR! path C:\Users\reaga\Desktop\bestconnect-react\my-app\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: C:\Program Files\nodejs\node.exe C:\Users\reaga\Desktop\bestconnect-react\my-app\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   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\reaga\\Desktop\\bestconnect-react\\my-app\\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@3.8.0
npm ERR! gyp info using node@15.0.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 check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) 
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed 
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) 
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed 
npm ERR! gyp verb could not find "python". checking python launcher 
npm ERR! gyp verb could not find "python". guessing location 
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\lib\configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-gyp\lib\configure.js:509:16)
npm ERR! gyp ERR! stack     at callback (C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\graceful-fs\polyfills.js:295:20)
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:183:21)
npm ERR! gyp ERR! System Windows_NT 10.0.18362
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\reaga\\Desktop\\bestconnect-react\\my-app\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\Users\reaga\Desktop\bestconnect-react\my-app\node_modules\node-sass
npm ERR! gyp ERR! node -v v15.0.1
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

【问题讨论】:

请尝试使用我的答案,让我知道它有效。 【参考方案1】:

Node 15 不支持 node-sass v4.x。请降级您的 Node 版本或升级到 node-sass v5 https://github.com/sass/node-sass#node-version-support-policy

【讨论】:

【参考方案2】:

通过从提升的 PowerShell(以管理员身份运行)运行 npm install -g windows-build-tools,使用 Microsoft 的 windows-build-tools 安装所有必需的工具和配置。

注意:在 windows 上工作

https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#environment-setup-and-configuration

【讨论】:

【参考方案3】:

首次安装:

npm i node-sass

第二次安装:

npm 我

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于无法安装 node-sass的主要内容,如果未能解决你的问题,请参考以下文章

无法为 Ionic 安装 node-sass

无法安装 node-sass

npm无法安装node-sass的解决方法

vue中linux系统在安装node-sass时,解决提示 node-sass 无法安装的问题

vue中linux系统在安装node-sass时,解决提示 node-sass 无法安装的问题

在 node-sass@4.11.0 安装后脚本中失败。无法设法运行它