繁体   English   中英

找不到模块“./version” - 在 Azure DevOps 上安装 npm 失败

[英]Cannot find module './version' - npm install on Azure DevOps fails

我在 Azure DevOps 中的 CI/CD 构建过程中遇到了 npm install 步骤的问题。

导致此问题的特定软件包似乎是 node-sass。 这个包在过去也给我带来了很多麻烦,但我确实让它工作了,并且构建已经运行了一段时间。 现在由于某种原因,他们再次失败,但我似乎无法在我的机器上重现这个问题,而且这个错误对我来说没有任何意义。

这是失败构建的输出: https : //pastebin.com/w4aK4dEh

错误消息是“错误:找不到模块 './version'”

我试图修改该步骤并将其从简单的 npm install 更改为 npm install --save-dev --unsafe-perm 但它似乎没有任何效果。

包.json

{
  "version": "1.0.0",
  "name": "myproject",
  "private": true,
  "devDependencies": {
    "gulp": "4.0.2",
    "gulp-concat": "2.6.1",
    "gulp-cssmin": "0.2.0",
    "gulp-rename": "2.0.0",
    "gulp-sass": "4.1.0",
    "gulp-uglify": "3.0.2",
    "rimraf": "3.0.2",
    "node-sass": "^4.8.3"
  },
  "dependencies": {}
}

我还尝试完全从依赖项中删除 node-sass,因为我认为 gulp-sass 默认已经包含它,但后来我遇到了“找不到模块 node-sass”错误。

我真的被这个难住了。 任何建议,将不胜感激。

我不完全确定以下哪一项是成功的关键,但这是我为解决此问题所做的工作:

  1. 从我的项目中删除 node_modules 文件夹,提交然后修改我的 .gitignore 以将其从存储库中永久排除(是的,我知道这个有点争议,因为有些人说应该签入该文件夹)

  2. 更新 package.json 文件中依赖项的版本

  3. 指定要使用的 NodeJs(以及 npm)的特定版本。 我通过简单地在 Azure 构建管道中添加一个步骤来做到这一点。 有趣的是,最新版本(撰写本文时为 15.2.1)不起作用,但 LTS 版本 14.15.1 确实起作用。

这三个更改的某种组合确实为我解决了问题。 我将这些信息留在这里以防其他人遇到同样的错误信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM