【发布时间】:2021-08-20 02:14:10
【问题描述】:
我在我的项目中安装 node-sass 时遇到问题。它是全局安装的,但由于某种原因,我的 Angular 项目说它找不到模块。
当尝试将其安装为开发依赖项时,我收到一个错误,我注意到一个特定的行:
npm ERR! gyp verb find vs2017 Found installation at: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
安装VS2017是唯一的解决方案吗?
完整的日志可以在下面找到。
我尝试使用 --unsafe-perms 参数运行,但它也不起作用。
npm ERR! code 1
npm ERR! path C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\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\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\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\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\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@14.17.0 | 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 "C:\Python27\python.exe" in the PATH
npm ERR! gyp verb `which` succeeded C:\Python27\python.exe C:\Python27\python.exe
npm ERR! gyp verb check python version `C:\Python27\python.exe -c "import sys; print "2.7.16
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 14.17.0
npm ERR! gyp verb command install [ '14.17.0' ]
npm ERR! gyp verb install input version string "14.17.0"
npm ERR! gyp verb install installing version: 14.17.0
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: 14.17.0
npm ERR! gyp verb build dir attempting to create "build" dir: C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass\build
npm ERR! gyp verb build dir "build" dir needed to be created? C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass\build
npm ERR! gyp verb find vs2017 Found installation at: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
npm ERR! gyp verb find vs2017 - Found Microsoft.VisualStudio.Component.Windows10SDK.19041
npm ERR! gyp verb find vs2017 - Found Microsoft.VisualStudio.Component.VC.Tools.x86.x64
npm ERR! gyp verb find vs2017 - Found Microsoft.VisualStudio.VC.MSBuild.Base
npm ERR! gyp verb find vs2017 - Using this installation with Windows 10 SDK
npm ERR! gyp verb find vs2017 using installation: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass\build\config.gypi
npm ERR! gyp verb config.gypi checking for gypi file: C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: C:\Users\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn C:\Python27\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args 'C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'msvs',
npm ERR! gyp info spawn args '-G',
npm ERR! gyp info spawn args 'msvs_version=2015',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args 'C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-sass\\build\\config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args 'C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-gyp\\addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args 'C:\\Users\\Daniel\\.node-gyp\\14.17.0\\include\\node\\common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=C:\\Users\\Daniel\\.node-gyp\\14.17.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=C:\\Users\\Daniel\\.node-gyp\\14.17.0\\<(target_arch)\\node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-sass',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\node_modules\\node-sass\\build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp verb command build []
npm ERR! gyp verb build type Release
npm ERR! gyp verb architecture x64
npm ERR! gyp verb node dev dir C:\Users\Daniel\.node-gyp\14.17.0
npm ERR! gyp verb found first Solution file build/binding.sln
npm ERR! gyp verb using MSBuild: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args 'build/binding.sln',
npm ERR! gyp info spawn args '/nologo',
npm ERR! gyp info spawn args '/p:Configuration=Release;Platform=x64'
npm ERR! gyp info spawn args ]
npm ERR! gyp ERR! UNCAUGHT EXCEPTION
npm ERR! gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe ENOENT
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
npm ERR! gyp ERR! stack at onErrorNT (internal/child_process.js:467:16)
npm ERR! gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:82:21)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Daniel\\Source\\Repos\\AFP_BackOffice\\AFP.BackOffice.Web\\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\Daniel\Source\Repos\AFP_BackOffice\AFP.BackOffice.Web\node_modules\node-sass
npm ERR! gyp ERR! node -v v14.17.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! This is a bug in `node-gyp`.
npm ERR! gyp ERR! Try to update node-gyp and file an Issue if it does not help:
npm ERR! gyp ERR! <https://github.com/nodejs/node-gyp/issues>
npm ERR! Build failed with error code: 7
【问题讨论】:
-
那行只是说它在那里找到了 Visual Studio。它不在乎它是VS2019还是VS2017。问题出现得更远,它使用显示的参数运行 MSBuild。它甚至说
This is a bug in `node-gyp`.然后建议更新 node-gyp 并在没有帮助的情况下提交问题。你做过这些吗?您也可以尝试自己运行 MSBuild 命令以查看完整的错误是什么。您需要确定build/binding.sln的位置,将 MSBuild 放在您的路径中,然后使用 args 运行命令,如图所示。 -
看来 node-sass 需要更新它所依赖的 node-gyp 的版本
-
我已将 node-gyp 更新到最新版本,还尝试了 7.1 版本,该版本在类似问题的线程中被推荐,但均未成功。