【问题标题】:webpack running with different errors on npm installwebpack 在 npm install 上运行时出现不同的错误
【发布时间】:2022-02-04 15:46:40
【问题描述】:

当我运行 npm installnpm ci 时,这似乎触发了一个 webpack 构建,它会产生大量不正确的错误。所有这些都指的是肯定存在的未找到的依赖项。此外,npm ci 似乎比npm install 触发的这些错误更多。

当我运行 webpack 构建时,构建运行得很好。 我对这种行为感到非常惊讶,因为我似乎没有找到任何有关触发此 webpack 运行的文档。

我想更好地理解:

  • npm install 期间触发 webpack 的原因是什么? (我非常喜欢安装依赖项)
  • 为什么会显示所有这些奇怪的错误消息?

我已经安装了:

  • Windows 11 上的 WSL 2 (Ubuntu 21.04)
  • NPM 7.5.2
  • Webpack ^5.65.0

示例错误输出如下所示:

matthias@daiquiri:~/dev/hamster-books$ npm ci
asset main.js 42.9 KiB [emitted] (name: main)
asset index.html 2.91 KiB [emitted]
cached modules 3.96 KiB [cached] 4 modules
code generated modules 9.58 KiB [code generated]
  modules by path ./app/js/ui/ 6.5 KiB
    modules by path ./app/js/ui/*.js 1.45 KiB
      ./app/js/ui/loadingDialog.js 177 bytes [code generated]
      ./app/js/ui/ui.js 1.27 KiB [code generated]
    modules by path ./app/js/ui/_impl/*.js 5.05 KiB
      ./app/js/ui/_impl/createElement.js 480 bytes [code generated]
      ./app/js/ui/_impl/uiElementFactory.js 4.59 KiB [code generated]
  modules by path ./app/js/*.js 3.08 KiB
    ./app/js/hamstersBooks.js 629 bytes [code generated]
    ./app/js/dispatcher.js 2.47 KiB [code generated]
./node_modules/xdate/src/xdate.js 19.5 KiB [built]

LOG from webpack.FileSystemInfo
<w> Managed item /home/matthias/dev/hamster-books/node_modules/html-webpack-plugin isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
<w> Managed item /home/matthias/dev/hamster-books/node_modules/style-loader isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
<w> Managed item /home/matthias/dev/hamster-books/node_modules/css-loader isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
<w> Managed item /home/matthias/dev/hamster-books/node_modules/less-loader isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
<w> Managed item /home/matthias/dev/hamster-books/node_modules/xdate isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
<w> Managed item /home/matthias/dev/hamster-books/node_modules/ts-loader isn't a directory or doesn't contain a package.json (see snapshot.managedPaths option)
+ 19 hidden lines

ERROR in ./app/js/dispatcher.js 2:32-75
Module not found: Error: Can't resolve 'ts-loader' in '/home/matthias/dev/hamster-books'
 @ ./app/js/hamstersBooks.js 1:17-40

ERROR in ./app/js/dispatcher.js 3:40-69
Module not found: Error: Can't resolve 'ts-loader' in '/home/matthias/dev/hamster-books'
 @ ./app/js/hamstersBooks.js 1:17-40

ERROR in ./app/js/dispatcher.js 4:34-81
Module not found: Error: Can't resolve 'ts-loader' in '/home/matthias/dev/hamster-books'
 @ ./app/js/hamstersBooks.js 1:17-40

在那之后输出持续了一段时间,它也在重复,尝试运行 webpack 几次。我也检查了 - 所有这些被引用的目录和文件都存在。事实证明,其中一些来自node_modules,而其他只是常规项目参考

【问题讨论】:

  • 只是出于好奇,您是否尝试在运行安装之前擦除node_modules?另外,为什么要使用ci 安装?您是否想了解在 CI 环境中的安装情况?
  • 当某些包具有installpostinstall 或其他一些导致 Webpack 构建触发的 NPM 生命周期脚本时,通常会发生这种情况。否则,没有任何理由。
  • @Johnny 删除 node_modules 成功了——现在它正在工作。使用 npm ci 是因为实际上该问题来自执行发布构建的脚本。非常感谢! (如果您想将建议作为答案,我很乐意将其标记为正确)

标签: javascript typescript npm webpack


【解决方案1】:

擦除node_modules 并重新安装。这样做的原因基本上是@Harshal Patil 评论的全部内容,即包触发其安装/安装后脚本后的冲突。

(这是我在评论中提出的建议,解决了问题,现在作为答案,以便可能对其有类似问题的其他人有所帮助)

【讨论】:

    猜你喜欢
    • 2020-02-20
    • 1970-01-01
    • 2022-01-12
    • 2020-04-26
    • 2018-02-07
    • 2019-11-07
    • 1970-01-01
    • 2017-10-02
    相关资源
    最近更新 更多