Node.js 嵌套生成在管道中失败:找不到在本地生成时可以找到的模块
在我的NestJS项目中,在本地构建和运行是可行的,但是在我的Azure管道中构建相同的代码时,它最近开始失败,因为在命令Node.js 嵌套生成在管道中失败:找不到在本地生成时可以找到的模块,node.js,azure-pipelines,nestjs,azure-pipelines-yaml,Node.js,Azure Pipelines,Nestjs,Azure Pipelines Yaml,在我的NestJS项目中,在本地构建和运行是可行的,但是在我的Azure管道中构建相同的代码时,它最近开始失败,因为在命令npm run build启动时找不到一些模块。当我在本地运行该命令时,没有任何问题,并且它构建正确 有许多模块可以正确找到(或者没有给出错误),那么为什么这些模块不能正确找到呢?您可以在Imgur上的此图像中找到my的图像,相关文件可见。所有类都声明为导出类。。。{}并且它们中的大多数也被导入到AppModule中,在AppModule中它们不会给出错误 管道布局(相关部分
npm run build
启动时找不到一些模块。当我在本地运行该命令时,没有任何问题,并且它构建正确
有许多模块可以正确找到(或者没有给出错误),那么为什么这些模块不能正确找到呢?您可以在Imgur上的此图像中找到my的图像,相关文件可见。所有类都声明为导出类。。。{}并且它们中的大多数也被导入到AppModule中,在AppModule中它们不会给出错误
管道布局(相关部分):
trigger:
- master
- dev
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
displayName: 'Install Node 12'
inputs:
versionSpec: 12.0.0
- script: |
npm install -g typescript
npm install
npm test
displayName: 'run tests'
- script: |
npm run build
displayName: 'build dist folder'
管道日志:(相关部分)
它的工作原理是将构建代理更改为macOs。这肯定是因为区分大小写的问题,这在某些地方是错误的。我在bitbucket管道上也遇到了类似的问题。这是因为我在不同的步骤下编写了
npm安装
和npm运行构建
,因此无法找到下一步所需的模块。我注意到您正在Azure Devops中使用ubuntu代理
。你的本地机器也是ubuntu系统吗?据我所知,ubuntu系统是区分大小写的。您可以检查代码是否指向正确的位置。如果您的本地计算机是Windows类型,您可以使用或“Windows类型托管代理”(例如Windows-2019)。您还可以共享一些示例代码。这是,你可以参考一下。
Generating script.
Script contents:
npm run build
========================== Starting Command Output ===========================
> fleetbot-nestjs@0.0.1 prebuild /home/vsts/work/1/s
> rimraf dist
> fleetbot-nestjs@0.0.1 build /home/vsts/work/1/s
> nest build
10 import { MailerService } from "../../Mailer/mailer.service";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app.module.ts:13:30 - error TS2307: Cannot find module './Mailer/mailer.module'.
13 import { MailerModule } from './Mailer/mailer.module';
~~~~~~~~~~~~~~~~~~~~~~~~
src/app.module.ts:14:34 - error TS2307: Cannot find module './Mailer/mailer.controller'.
14 import { MailerController } from './Mailer/mailer.controller';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app.module.ts:15:33 - error TS2307: Cannot find module './Teams/teams.controller'.
15 import { TeamsController } from './Teams/teams.controller';
~~~~~~~~~~~~~~~~~~~~~~~~~~
src/app.module.ts:16:37 - error TS2307: Cannot find module './Chatlayer/chatlayer.controller'.
16 import { ChatlayerController } from './Chatlayer/chatlayer.controller';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/mailer/mailer.module.ts:4:33 - error TS2307: Cannot find module '../Mailer/mailer.provider'.
4 import { mailerProviders } from "../Mailer/mailer.provider";
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Found 9 error(s).
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! fleetbot-nestjs@0.0.1 build: `nest build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fleetbot-nestjs@0.0.1 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/vsts/.npm/_logs/2020-06-03T18_00_47_946Z-debug.log
##[error]Bash exited with code '1'.
Finishing: build dist folder