title: ts-node cannot find module typescript
body: <p>I'm deploying a dockerized typescript app on AWS. When I run the app container I get a ts-node error <code>Error: Cannot find module 'typescript'</code> which is not clear to me because <code>typescript</code> is defined as a devDependency. 
  These are my <code>package.json</code> dependencies </p>
  
  <pre><code>{
   "name": "app-server",
   "version": "0.0.0",
   "description": "description",
   "author": "Marcello Bardus",
   "license": "MIT",
   "scripts": {
     "build": "tsc -p tsconfig.build.json",
     "format": "prettier --write \"src/**/*.ts\"",
     "start": "ts-node -r tsconfig-paths/register src/main.ts",
     "start:dev": "nodemon",
     "start:debug": "nodemon --config nodemon-debug.json",
     "prestart:prod": "rimraf dist &amp;&amp; tsc",
     "start:prod": "node dist/main.js",
     "lint": "tslint -p tsconfig.json -c tslint.json",
     "test": "jest",
     "test:watch": "jest --watch",
     "test:cov": "jest --coverage",
     "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
  "test:e2e": "jest --config ./test/jest-e2e.json"
   },
   "dependencies": {
     "@nestjs/common": "^5.4.0",
     "@nestjs/core": "^5.4.0",
     "@nestjs/typeorm": "^5.3.0",
     "@types/mongoose": "^5.3.18",
     "elliptic": "^6.4.1",
     "mongoose": "^5.4.14",
     "object-hash": "^1.3.1",
     "pg": "^7.8.0",
     "randomstring": "^1.1.5",
     "reflect-metadata": "^0.1.12",
     "rimraf": "^2.6.2",
     "rxjs": "^6.2.2",
     "sha2": "^1.0.2",
     "typeorm": "^0.2.13",
     "typescript": "^3.0.1"
   },
  "devDependencies": {
    "@nestjs/testing": "^5.1.0",
    "@types/express": "^4.16.0",
    "@types/jest": "^23.3.1",
    "@types/node": "^10.7.1",
    "@types/supertest": "^2.0.5",
    "jest": "^23.5.0",
    "nodemon": "^1.18.10",
    "prettier": "^1.14.2",
    "supertest": "^3.1.0",
    "ts-jest": "^23.1.3",
    "ts-loader": "^4.4.2",
    "ts-node": "^7.0.1",
    "tsconfig-paths": "^3.5.0",
    "typescript": "^3.0.1",
    "tslint": "5.11.0"
  },
  "jest": {
    "moduleFileExtensions": [
      "js",
      "json",
      "ts"
    ],
  "rootDir": "src",
  "testRegex": ".spec.ts$",
  "transform": {
    "^.+\\.(t|j)s$": "ts-jest"
  },
  "coverageDirectory": "../coverage",
  "testEnvironment": "node"
    }
  }
  </code></pre>
  
  <p>And the Dockerfile</p>
  
  <pre><code>FROM node
  WORKDIR /usr/src/app
  
  COPY . /usr/src/app
  
  RUN npm install -g ts-node nodemon
  RUN npm install
  RUN npm install typescript
  
  EXPOSE 8085
  
  CMD ["nodemon", "."]
  </code></pre>
  
  <p>I suppose that <code>typescript</code> is installed locally once the container has been built but it's not. 
  Thanks in advance</p>