Node.js无法find模块,尽pipe模块正在安装

  • 我将我的应用程序本地构build到dist文件夹中; package.json也被复制过来

  • npm install --production在dist文件夹中运行

  • dist文件夹然后压缩

  • 邮编被上传到服务器,在那里解压缩

  • 试图在服务器上运行应用程序导致Error: cannot find module <module_name>

除非我在解压缩后手动运行npm install <module_name> ,否则这个错误会发生在任何模块上

一切工作正常,如果我从我的dist文件夹中运行它,所以它不是一个问题与预压缩部分

在unzip之后运行npm install --production不能解决任何问题(只是说所有的模块都是最新的)

删除服务器上的node_modules ,然后运行npm install --production使一切工作正常

解压zip文件在本地然后运行应用程序工作正常

我错过了什么/错在哪里?

编辑:package.json:

 { "name": "app-name", "version": "0.0.1", "scripts": { "start": "index.js" }, "dependencies": { "body-parser": "^1.18.2", "email-validator": "^1.1.1", "express": "^4.16.2", "express-jwt": "^5.3.0", "express-jwt-permissions": "^1.0.0", "firebase-admin": "^5.5.1", "jsonwebtoken": "^8.1.0", "mailgun-js": "^0.13.1", "mysql2": "^1.5.0", "password-hash-and-salt": "^0.1.4", "randomstring": "^1.1.5", "reflect-metadata": "^0.1.10", "sequelize": "^4.22.6", "sequelize-typescript": "^0.5.0" }, "devDependencies": { "@types/express": "^4.0.39", "@types/express-jwt": "0.0.38", "@types/jsonwebtoken": "^7.2.4", "@types/node": "^8.0.51", "@types/sequelize": "^4.0.79", "babel-core": "^6.26.0", "del": "^3.0.0", "gulp": "^3.9.1", "gulp-babel": "^7.0.0", "gulp-ssh": "^0.6.0", "gulp-typescript": "^3.2.3", "gulp-zip": "^4.0.0", "merge-stream": "^1.0.1", "typescript": "^2.6.1" } } 

使用npm install –only =生产。 按照这篇文章

希望这有助于,我是新手到Node js,只是想帮助