【问题标题】:Can't Install node-sass with Visual Studio 2019无法使用 Visual Studio 2019 安装 node-sass
【发布时间】: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 版本,该版本在类似问题的线程中被推荐,但均未成功。

标签: angular npm node-sass


【解决方案1】:

根据 node-sass github 页面,支持的 node.js 版本因版本而异。

enter link description here

尝试:

sudo npm install --save-dev  --unsafe-perm node-sass

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 2018-03-29
    • 1970-01-01
    • 2022-10-06
    • 2018-04-02
    相关资源
    最近更新 更多