[英]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”错误。
我真的被这个难住了。 任何建议,将不胜感激。
我不完全确定以下哪一项是成功的关键,但这是我为解决此问题所做的工作:
从我的项目中删除 node_modules 文件夹,提交然后修改我的 .gitignore 以将其从存储库中永久排除(是的,我知道这个有点争议,因为有些人说应该签入该文件夹)
更新 package.json 文件中依赖项的版本
指定要使用的 NodeJs(以及 npm)的特定版本。 我通过简单地在 Azure 构建管道中添加一个步骤来做到这一点。 有趣的是,最新版本(撰写本文时为 15.2.1)不起作用,但 LTS 版本 14.15.1 确实起作用。
这三个更改的某种组合确实为我解决了问题。 我将这些信息留在这里以防其他人遇到同样的错误信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.