我有一个maven项目,其中是JavaScript项目克隆为一个git子模块。所以目录结构看起来像mavenapp/src/main/javascript/[npm项目文件]
在我的包裹里。Json,测试是这样的:
"test": "react-scripts test --env=jsdom",
但是当我尝试运行npm test时,它说
“react-scripts”不被认为是内部或外部命令,
有趣的是,当我独立克隆javascript项目时,我没有得到这个错误。我试着重新运行npm install。
NPM版本:5.5.1
Node.js版本:9.3.0
昨天在Azure DevOps中运行npm run build时突然出现这个错误:
“react-scripts”不被视为内部或外部命令、可操作程序或批处理文件。
然而,当查看完成的npm ci时,它充满了错误,比如:
FetchError:试图获取时无效的响应体
https://registry.npmjs.org/@babel%2fcompat-data: ENOENT:没有这样的文件
或者目录,lstat
“D: \ \ 1. npm_cacache \ content-v2 \ sha512 \ 58 \ 0 b \ dc7dce0b33e86d97736b3c419005951e32af28dda3f5b8c746f16d53d4baed1dc2fd2493e9310f744696008400bf8c91ca84f9fb3ebf541ba93a541b144a”
当注释掉缓存时,一切又开始工作了:
npm_config_cache: $(Pipeline.Workspace)/.npm
- task: Cache@2
inputs:
key: 'npm | "$(Agent.OS)" | $(clientApp)\package-lock.json'
restoreKeys: |
npm | "$(Agent.OS)"
path: $(npm_config_cache)
displayName: Cache npm
奇怪的是,直到昨天(2021-12-02),它已经工作了一年多,我们使用与微软记录的完全相同的代码进行缓存。
https://learn.microsoft.com/en-us/azure/devops/pipelines/release/caching?view=azure-devops#nodejsnpm
注意Azure DevOps状态已降级或不健康
https://status.dev.azure.com/