yarn 尝试安装 node-sass 时出现问题

Problem with yarn trying to install node-sass

我是 Web 项目的新成员,该项目使用 yarn 而不是 npm。还有一些我不习惯使用的额外库和配置。

问题是,我一直在努力尝试使用 yarn 将 node-sass 安装到我的机器中。 yarn add node-sass 但是指令给我一个错误。

我尝试安装多个版本的 NodeJS,我安装了 yarn,python 2.7(包括配置 Windows 环境变量)。

此外,我安装了 windows-build-tools: npm install --global --production windows-build-tools

并且还安装了 node-gyp: npm install --global node-gyp

我只安装了Visual Studio 2019.Net Framework 4.5.1

如果有人知道为什么会出现此问题,我们将不胜感激!

记录错误:

yarn add node-sass
yarn add v1.22.5
[1/5] Validating package.json...
[2/5] Resolving packages...
warning node-sass > node-gyp > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
[3/5] Fetching packages...
info fsevents@2.1.2: The platform "win32" is incompatible with this module.
info "fsevents@2.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.11: The platform "win32" is incompatible with this module.
info "fsevents@1.2.11" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
warning " > vuex-persist@2.1.0" has unmet peer dependency "vuex@>=2.5".
warning "@vue/eslint-config-standard > eslint-import-resolver-webpack@0.12.1" has unmet peer dependency "webpack@>=1.11.0".
warning " > eslint-loader@3.0.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
[5/5] Building fresh packages...
[-/5] ⠂ waiting...
[-/5] ⠂ waiting...
[3/5] ⠂ node-sass
[-/5] ⠂ waiting...
error C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass
Output:
Building: C:\Program Files\nodejs\node.exe C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   'C:\Program Files\nodejs\node.exe',
gyp verb cli   'C:\bitbucket\dcu-feature\node_modules\@quasar\app\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 verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@12.16.1 | 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.7" in the PATH
gyp verb `which` failed Error: not found: python2.7
gyp verb `which` failed     at getNotFoundError (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:89:16gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:166:21)
gyp verb `which` failed  python2.7 Error: not found: python2.7
gyp verb `which` failed     at getNotFoundError (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:89:16gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at C:\bitbucket\dcu-feature\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:166:21) {
gyp verb `which` failed   stack: 'Error: not found: python2.7\n' +
gyp verb `which` failed     '    at getNotFoundError (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:13:12)\n' +
gyp verb `which` failed     '    at F (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:68:19)\n' +
gyp verb `which` failed     '    at E (C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:80:29)\n' +
gyp verb `which` failed     '    at C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\node_modules\which\which.js:89:16\n' +
gyp verb `which` failed     '    at C:\bitbucket\dcu-feature\node_modules\isexe\index.js:42:5\n' +
gyp verb `which` failed     '    at C:\bitbucket\dcu-feature\node_modules\isexe\windows.js:36:5\n' +
gyp verb `which` failed     '    at FSReqCallback.oncomplete (fs.js:166:21)',
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb could not find "python2.7". checking python launcher
gyp verb could not find "python2.7". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp verb check python version `C:\Python27\python.exe -c "import sys; print "2.7.15
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 12.16.1
gyp verb command install [ '12.16.1' ]
gyp verb install input version string "12.16.1"
gyp verb install installing version: 12.16.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 12.16.1
gyp verb build dir attempting to create "build" dir: C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\build     
gyp verb build dir "build" dir needed to be created? C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\build     
gyp verb find vs2017 Found installation at: C:\Program Files (x86)\Microsoft Visual Studio19\Professional
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.VC.Tools.x86.x64
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.17763
gyp verb find vs2017   - Found Microsoft.VisualStudio.VC.MSBuild.Base
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.18362
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.16299
gyp verb find vs2017   - Found Microsoft.VisualStudio.Component.Windows10SDK.17134
gyp verb find vs2017   - Using this installation with Windows 10 SDK
gyp verb find vs2017 using installation: C:\Program Files (x86)\Microsoft Visual Studio19\Professional
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\build\config.gypi
gyp verb config.gypi checking for gypi file: C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\config.gypi       
gyp verb common.gypi checking for gypi file: C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\common.gypi       
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn C:\Python27\python.exe
gyp info spawn args [
gyp info spawn args   'C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\gyp\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-G',
gyp info spawn args   'msvs_version=2015',
gyp info spawn args   '-I',
gyp info spawn args   'C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\build\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\Users\m_bolanos-v\.node-gyp\12.16.1\include\node\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\Users\m_bolanos-v\.node-gyp\12.16.1',
gyp info spawn args   '-Dnode_gyp_dir=C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\Users\m_bolanos-v\.node-gyp\12.16.1\<(target_arch)\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass\build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir C:\Users\m_bolanos-v\.node-gyp.16.1
gyp verb found first Solution file build/binding.sln
gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio19\Professional\MSBuild.0\Bin\MSBuild.exe
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio19\Professional\MSBuild.0\Bin\MSBuild.exe
gyp info spawn args [
gyp info spawn args   'build/binding.sln',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64'
gyp info spawn args ]
gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio19\Professional\MSBuild.0\Bin\MSBuild.exe ENOENT        
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
gyp ERR! stack     at onErrorNT (internal/child_process.js:469:16)
gyp ERR! stack     at processTicksAndRejections (internal/process/task_queues.js:84:21)
gyp ERR! System Windows_NT 10.0.19041
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\bitbucket\dcu-feature\node_modules\@quasar\app\node_modules\node-sass
gyp ERR! node -v v12.16.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! This is a bug in `node-gyp`.

我的配置:

NodeJs              14.15.1

Global packages     
  NPM               6.14.8
  yarn              1.22.5
  @quasar/cli       1.1.2

好吧,这是我为使其再次运行而执行的步骤:

希望对某人有所帮助 o/