Nest: npm run start:prod is failed, unnecessary modules required (newly created project) v5

Created on 23 Apr 2018  路  18Comments  路  Source: nestjs/nest

I'm submitting a...


[ ] Regression 
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.

Current behavior


After setting up a project with CLI as described in docs (without changing code), I have tried to run a command 'npm run start:prod' and get this error:

> [email protected] prestart:prod /home/vmois/Projects/Portal/test
> rm -rf dist && tsc

node_modules/@nestjs/common/interfaces/microservices/microservice-configuration.interface.d.ts(3,32): error TS2307: Cannot find module 'mqtt'.
node_modules/@nestjs/common/interfaces/microservices/microservice-configuration.interface.d.ts(4,35): error TS2307: Cannot find module 'grpc'.

npm ERR! Linux 3.16.0-5-amd64
npm ERR! argv "/usr/bin/nodejs" "/usr/local/bin/npm" "run" "start:prod"
npm ERR! node v8.4.0
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] prestart:prod: `rm -rf dist && tsc`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the [email protected] prestart:prod script 'rm -rf dist && tsc'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the test package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     rm -rf dist && tsc
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs test
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls test
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/vmois/Projects/Portal/test/npm-debug.log

Of course the easiest solution is to install these packages, but what if I don't use them and don't want to install. Thanks.

Expected behavior


Compile and server in dist/main.js

Minimal reproduction of the problem with instructions


Try to setup up project with CLI, and then run 'npm run start:prod'

Environment


[Nest Information]
microservices version : 5.0.0-beta.3
websockets version    : 5.0.0-beta.3
testing version       : 5.0.0-beta.3
common version        : 5.0.0-beta.3
core version          : 5.0.0-beta.3


For Tooling issues:
- Node version: 8.4.0
- Platform: Linux

Others:
Package manager: yarn
common type todo 馃挌

All 18 comments

same issue

npm run start:prod command works in NestJS v4.5.9, so I think it is an issue related to v5.

This issue comes from Nest v5.0.0. Thanks for reporting!

Fixed in v5.0.0-beta.4. Let me know if you face any issue. 馃檪

It works thanks

I'm having this issue with 5.1.0

same issue with 5.1.0.

Same here!

I would recommend updating your packages to 5.4.0, there were no breaking changes.

Updated to 5.4.0, but still experiencing this issue.

The issue is definitely not present in 5.4.0. Please, ensure that all packages were updated. If you prefer, you can create a dedicated issue on StackOverflow.

I am still seeing the same issue mentioned above. Its very easy to reproduce. I am running 5.4 version.

Just create a project and run "npm run start:prod"

Just for someone else experimenting this issue, my workaround was to modify the path of main.js :

sed -i.bak 's|dist/main.js|dist/src/main.js|g' package.json

If you happen to build your project in a Docker container and then run it in a different one for use in production, then don't use npm run start:prod because it counter-intuitively deletes you dist directory.

It must have been an idea for an April fools' day prank. 馃

Just call node dist/main.js directly.

The idea is to clean the built assets out before building new ones. This is to ensure you aren't running old code

Same issue with v6.4.1

If you happen to build your project in a Docker container and then run it in a different one for use in production, then don't use npm run start:prod because it counter-intuitively deletes you dist directory.

It must have been an idea for an April fools' day prank. 馃

Just call node dist/main.js directly.

It works for me :)

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cojack picture cojack  路  3Comments

anyx picture anyx  路  3Comments

menme95 picture menme95  路  3Comments

tronginc picture tronginc  路  3Comments

breitsmiley picture breitsmiley  路  3Comments