首页 > 解决方案 > Azure Devops - 部署 React 应用程序 - 错误 - ENOENT:没有这样的文件或目录,符号链接'../detect-port-alt/bin/detect-port'

问题描述

突然,我的 CI 因一系列错误而停止,我m using Azure DevOps with Azure Web App Linux. I遇到了几个错误,但我无法弄清楚:

[错误]npm WARN bootstrap@4.4.1 需要 jquery@1.9.1 - 3 的对等点,但没有安装。您必须自己安装对等依赖项。

npm WARN react-id-swiper@2.4.0 需要一个 swiper@>=5.0.0 的对等点,但没有安装。您必须自己安装对等依赖项。

npm 错误!代码 ENOENT npm 错误!系统调用符号链接 npm ERR!路径 ../detect-port-alt/bin/detect-port npm ERR!dest /home/site/wwwroot/node_modules/.bin/detect npm ERR!errno -2 npm 错误!enoent ENOENT:没有这样的文件或目录,符号链接 '../detect-port-alt/bin/detect-port' -> '/home/site/wwwroot/node_modules/.bin/detect' npm ERR!enoent 这与 npm 找不到文件有关。npm 错误!恩恩

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
/home/.npm/_logs/2019-12-12T03_04_50_583Z-debug.log npm WARN @typescript-eslint/eslint-plugin@1.6.0 需要 typescript@* 的对等体,但没有安装。您必须自己安装对等依赖项。npm WARN @typescript-eslint/parser@1.6.0 需要 typescript@* 的对等点,但没有安装。您必须自己安装对等依赖项。npm WARN @typescript-eslint/typescript-estree@1.6.0 需要 typescript@* 的对等体,但没有安装。您必须自己安装对等依赖项。npm WARN react-id-swiper@2.4.0 需要一个 swiper@>=5.0.0 的对等点,但没有安装。您必须自己安装对等依赖项。npm WARN tsutils@3.17.1 需要一个 typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev ||

= 3.5.0-开发 || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta 但没有安装。您必须自己安装对等依赖项。

npm 错误!代码 ENOENT npm 错误!系统调用符号链接 npm ERR!路径 ../detect-port-alt/bin/detect-port npm ERR!dest /home/site/wwwroot/node_modules/.bin/detect npm ERR!errno -2 npm 错误!enoent ENOENT:没有这样的文件或目录,符号链接 '../detect-port-alt/bin/detect-port' -> '/home/site/wwwroot/node_modules/.bin/detect' npm ERR!enoent 这与 npm 找不到文件有关。npm 错误!恩恩

标签: reactjsazure-devops

解决方案


对等依赖缺失错误可能是由不兼容的依赖引起的(对等依赖的版本高于您安装的版本)。您可能需要在管道中运行 npm install 来安装和更新您的依赖项。

- script: npm install

或者

- task: Npm@1
  inputs:
    command: 'install' 

您还可以尝试在管道中安装每个未命中的对等依赖项及其正确版本。

- script: |
    npm install -g jquery@1.9.1 --save
    npm install -g swiper@>=5.0.0 --save
    ...

您可以查看此类似线程以获取更多信息。对于构建 react.js 示例,您可以参考此文档


推荐阅读