【问题标题】:LESS in Web Compiler for Visual Studio 2019 stopped to workVisual Studio 2019 的 Web 编译器中的 LESS 停止工作
【发布时间】:2020-10-28 16:50:53
【问题描述】:

它工作了很多年。 昨天无缘无故(?)我不能再编译 LESS 文件了。 我试过了

  • 重新安装 Web 编译器扩展,
  • 重新安装 Web Essentials 2019 扩展,
  • 重装整个Visual Studio 2019 3次,
  • 从头开始一个新项目

我不知道幕后是否发生了一些自动更新,但基本上,每次我尝试编译 LESS 文件时都会得到:

module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Users\igor\AppData\Local\Temp\WebCompiler1.12.394\node_modules\less\bin\lessc'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:390:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:505:3

感谢您的帮助!

【问题讨论】:

    标签: visual-studio less visual-studio-2019


    【解决方案1】:

    对于 VS2017 和 VS2019:

    • 卸载 Web 编译器扩展
    • 删除*目录C:\Users\<username>\AppData\Local\Temp\WebCompiler1.12.394
    • 安装 Web 编译器

    我不知道为什么“lessc”文件消失了。

    * 来自 cmd.exe:

    rd /S %LOCALAPPDATA%\Temp\WebCompiler1.12.394
    

    从 PowerShell 提示符:

    rm -r $env:LOCALAPPDATA\Temp\WebCompiler1.12.394
    

    我是如何找到解决方案的:我尝试从 GitHub 存储库中为 Web 编译器扩展重新创建 .vsix 文件,以便获得 lessc 文件;我已经安装了 Node.js 及其所有相关的 gubbins。尝试在 Web 编译器文件中使用 build.cmd 生成的 node_modules.7z 最终不起作用,因为其中有几个已弃用的东西 - 我最终遇到了 3.10: Breaks IE Compat Option 中描述的错误。所以我想:天哪,都坏了,为什么不直接删除目录然后重新安装呢?

    【讨论】:

    • 我发现 C:\Users\igor\AppData\Local\Temp\WebCompiler1.12.394\node_modules\less 里面的文件比预期的要少,几乎所有的子文件夹都是空的。我发现的唯一解决方法是在干净的 PC 上安装 Visual Studio(和扩展),然后从后面提到的同一个文件夹中复制和粘贴所有文件。这不是一个优雅的解决方案,但它确实有效。
    • @Igor 不客气 :) 我上次使用 Web 编译器可能是 3 或 4 周,所以我不知道它什么时候坏了。我怀疑该安装程序只检查目录的存在而不是它们的内容,或者它可能对没有文件扩展名的文件失败,并且看起来卸载程序没有完全卸载。
    • 我只能通过删除临时 WebCompiler 文件夹并重新启动 Visual Studio 来解决此问题。
    • 遵循已接受答案中的步骤。在VS中卸载,删除Temp目录下的文件夹,安装扩展。我有一个奇怪的合并冲突,后来让我无法编译并从问题中抛出错误。通常重新启动 VS 或重新启动会修复这样的小问题。感谢您的帮助。
    【解决方案2】:

    我删除了C:\Users\<username>\AppData\Local\Temp\WebCompiler1.12.394 文件夹并从Task Runner Explorer 运行编译,它重新创建了该文件夹,而无需重新安装Web Compiler。

    可能与项目中还安装了 BuildWebCompiler 1.12.405 NuGet 包有关。

    【讨论】:

    • 好主意,根据文档,在构建过程中使用了 Nuget 包:github.com/madskristensen/… 看起来 Mads 在某种程度上放弃了这个项目。
    • 我恢复到那个 Nuget 包的 1.12.394 版本,但仍然需要通过安装/卸载来重置扩展。
    • 我有两个以“WebCompiler”开头的文件夹。删除它们都解决了这个问题。可能是因为我使用了两个版本的扩展和 nuget 包,它们相互混淆了。
    【解决方案3】:

    通过执行以下操作,我能够解决 Web 编译器中缺少“node-sass”文件的类似问题(尽管整个 bin 文件夹为空):

    • 关闭 Visual Studio 2019
    • 删除 C:\Users\AppData\Local\Temp\WebCompiler1.12.394 文件夹
    • 重新启动 Visual Studio。

    当我重新启动 VS 时,该文件夹被重新创建,所有必要的文件都回到了它们需要的位置。

    当我遇到这个问题时,我刚刚休息了一个多星期后才回来工作。至少对我来说,我认为我电脑上的一个自动清理未使用的临时文件的程序可能是罪魁祸首。

    【讨论】:

      猜你喜欢
      • 2020-02-01
      • 2021-12-09
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多