Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Followed tutorial but application won't start when entering npm start -> typescript errors instead #2611

Closed
HEYGUL opened this issue Mar 18, 2019 · 10 comments
Assignees

Comments

@HEYGUL
Copy link

HEYGUL commented Mar 18, 2019

Description

node version: v10.14.0
npm version: 6.9.0 
@loopback/cli version: 1.8.2

@loopback/* dependencies:
  - @loopback/authentication: ^1.0.15
  - @loopback/boot: ^1.1.0
  - @loopback/build: ^1.3.2
  - @loopback/context: ^1.7.0
  - @loopback/core: ^1.1.8
  - @loopback/metadata: ^1.0.8
  - @loopback/openapi-spec-builder: ^1.1.0
  - @loopback/openapi-v3-types: ^1.0.8
  - @loopback/openapi-v3: ^1.3.0
  - @loopback/repository-json-schema: ^1.3.4
  - @loopback/repository: ^1.1.8
  - @loopback/rest: ^1.8.0
  - @loopback/testlab: ^1.1.0
  - @loopback/docs: ^1.10.0
  - @loopback/example-hello-world: ^1.1.6
  - @loopback/example-log-extension: ^1.1.6
  - @loopback/example-rpc-server: ^1.1.5
  - @loopback/example-todo: ^1.5.1
  - @loopback/example-soap-calculator: ^1.4.1
  - @loopback/service-proxy: ^1.0.10
  - @loopback/http-caching-proxy: ^1.0.9
  - @loopback/http-server: ^1.1.8
  - @loopback/example-todo-list: ^1.5.1
  - @loopback/dist-util: ^0.4.0
  - @loopback/rest-explorer: ^1.1.11
  - @loopback/tslint-config: ^2.0.2
  - @loopback/example-express-composition: ^1.2.1

Following official tutorial https://v4.loopback.io/getting-started.html but application won't start when entering npm start.

Current Behavior

Follow steps to install loopback 4 and create application.
Use all defaults options as is.
When entering npm start, build is complaining with following output.

npm start

> trait-d-union@1.0.0 prestart /Users/GUL/Documents/Missions/BetaGouv/trait-d-union-backoffice/trait-d-union
> npm run build


> trait-d-union@1.0.0 build /Users/GUL/Documents/Missions/BetaGouv/trait-d-union-backoffice/trait-d-union
> lb-tsc es2017 --outDir dist

../node_modules/@types/jest/index.d.ts:27:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'beforeEach' must be of type 'HookFunction', but here has type 'Lifecycle'.

27 declare var beforeEach: jest.Lifecycle;
               ~~~~~~~~~~

../node_modules/@types/jest/index.d.ts:29:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'afterEach' must be of type 'HookFunction', but here has type 'Lifecycle'.

29 declare var afterEach: jest.Lifecycle;
               ~~~~~~~~~

../node_modules/@types/jest/index.d.ts:30:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'describe' must be of type 'SuiteFunction', but here has type 'Describe'.

30 declare var describe: jest.Describe;
               ~~~~~~~~

../node_modules/@types/jest/index.d.ts:32:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'xdescribe' must be of type 'PendingSuiteFunction', but here has type 'Describe'.

32 declare var xdescribe: jest.Describe;
               ~~~~~~~~~

../node_modules/@types/jest/index.d.ts:33:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'it' must be of type 'TestFunction', but here has type 'It'.

33 declare var it: jest.It;
               ~~

../node_modules/@types/jest/index.d.ts:35:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'xit' must be of type 'PendingTestFunction', but here has type 'It'.

35 declare var xit: jest.It;
               ~~~

../node_modules/@types/jest/index.d.ts:36:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'test' must be of type 'TestFunction', but here has type 'It'.

36 declare var test: jest.It;
               ~~~~

node_modules/@types/node/module.d.ts:2:5 - error TS2300: Duplicate identifier 'mod'.

2     export = NodeJS.Module;
      ~~~~~~~~~~~~~~~~~~~~~~~

  ../../../../../node_modules/@types/requirejs/index.d.ts:38:11
    38  export = mod;
                 ~~~
    'mod' was also declared here.

../../../../../node_modules/@types/requirejs/index.d.ts:38:11 - error TS2300: Duplicate identifier 'mod'.

38  export = mod;
             ~~~

  node_modules/@types/node/module.d.ts:2:5
    2     export = NodeJS.Module;
          ~~~~~~~~~~~~~~~~~~~~~~~
    'mod' was also declared here.

../../../../../node_modules/@types/requirejs/index.d.ts:422:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'require' must be of type 'NodeRequire', but here has type 'Require'.

422 declare var require: Require;
                ~~~~~~~


Found 10 errors.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! trait-d-union@1.0.0 build: `lb-tsc es2017 --outDir dist`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the trait-d-union@1.0.0 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!     /Users/GUL/.npm/_logs/2019-03-18T21_22_06_184Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! trait-d-union@1.0.0 prestart: `npm run build`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the trait-d-union@1.0.0 prestart 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!     /Users/GUL/.npm/_logs/2019-03-18T21_22_06_203Z-debug.log

Expected Behavior

Follow steps to install loopback 4 and create application.
Use all defaults options as is.
When entering npm start, output shows no error and application is launched.

@dhmlau
Copy link
Member

dhmlau commented Mar 19, 2019

@HEYGUL, I just tried it the getting started instructions and it's working fine for me. For your case, it looks like some of the required dependencies are not installed. Could you please run lb4 app with ---yes option so that it will automatically accept all defaults without prompting you? i.e.

lb4 app <your app name> --yes

Then we can compare what was missing. Thanks.

@dhmlau dhmlau self-assigned this Mar 19, 2019
@HEYGUL
Copy link
Author

HEYGUL commented Mar 19, 2019

@dhmlau thank you for your answer.

lb4 app trait-d-union-backend --yes

gave me this output

   create .mocharc.json
   create .npmrc
   create .prettierignore
   create .prettierrc
   create DEVELOPING.md
   create README.md
   create index.ts
   create package.json
   create tsconfig.json
   create tslint.build.json
   create tslint.json
   create .vscode/settings.json
   create .vscode/tasks.json
   create .gitignore
   create .dockerignore
   create Dockerfile
   create index.js
   create public/index.html
   create src/application.ts
   create src/index.ts
   create src/migrate.ts
   create src/sequence.ts
   create src/__tests__/README.md
   create src/controllers/README.md
   create src/controllers/index.ts
   create src/controllers/ping.controller.ts
   create src/datasources/README.md
   create src/models/README.md
   create src/repositories/README.md
   create src/__tests__/acceptance/home-page.acceptance.ts
   create src/__tests__/acceptance/ping.controller.acceptance.ts
   create src/__tests__/acceptance/test-helper.ts
npm WARN deprecated @types/handlebars@4.1.0: This is a stub types definition. handlebars provides its own type definitions, so you do not need this installed.
npm WARN trait-d-union-backend@1.0.0 No license field.

added 682 packages from 1475 contributors and audited 4603 packages in 9.228s
found 2 vulnerabilities (1 low, 1 moderate)
  run `npm audit fix` to fix them, or `npm audit` for details

Application trait-d-union-backend was created in trait-d-union-backend.

Next steps:

$ cd trait-d-union-backend
$ npm start

I then followed next steps:
cd trait-d-union-backend
nom start

and I still have the same issue:

> trait-d-union-backend@1.0.0 prestart /Users/GUL/Documents/Missions/BetaGouv/trait-d-union-backend
> npm run build


> trait-d-union-backend@1.0.0 build /Users/GUL/Documents/Missions/BetaGouv/trait-d-union-backend
> lb-tsc es2017 --outDir dist

node_modules/@types/node/module.d.ts:2:5 - error TS2300: Duplicate identifier 'mod'.

2     export = NodeJS.Module;
      ~~~~~~~~~~~~~~~~~~~~~~~

  ../../../../node_modules/@types/requirejs/index.d.ts:38:11
    38  export = mod;
                 ~~~
    'mod' was also declared here.

../../../../node_modules/@types/requirejs/index.d.ts:38:11 - error TS2300: Duplicate identifier 'mod'.

38  export = mod;
             ~~~

  node_modules/@types/node/module.d.ts:2:5
    2     export = NodeJS.Module;
          ~~~~~~~~~~~~~~~~~~~~~~~
    'mod' was also declared here.

../../../../node_modules/@types/requirejs/index.d.ts:422:13 - error TS2403: Subsequent variable declarations must have the same type.  Variable 'require' must be of type 'NodeRequire', but here has type 'Require'.

422 declare var require: Require;
                ~~~~~~~


Found 3 errors.

npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! trait-d-union-backend@1.0.0 build: `lb-tsc es2017 --outDir dist`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the trait-d-union-backend@1.0.0 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!     /Users/GUL/.npm/_logs/2019-03-19T08_37_14_379Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! trait-d-union-backend@1.0.0 prestart: `npm run build`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the trait-d-union-backend@1.0.0 prestart 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!     /Users/GUL/.npm/_logs/2019-03-19T08_37_14_424Z-debug.log

@dhmlau
Copy link
Member

dhmlau commented Mar 19, 2019

@strongloop/loopback-maintainers, any ideas on why this occurred?

I tried with the same Node.js version and @loopback/cli version and couldn't reproduce the problem. There's a similar error mentioned in rollup/rollup#2142 but it doesn't explain why it works for me but not @HEYGUL.

Thanks!

@raymondfeng
Copy link
Contributor

I don't see @types/requirejs locally. Can you run npm ls @types/requirejs to see where it's from?

Did you create the project inside a path that might have node_modules in its parent directories?

@HEYGUL
Copy link
Author

HEYGUL commented Mar 20, 2019

npm ls @types/requirejs gives following output

trait-d-union-backend@1.0.0 /Users/GUL/Documents/Missions/BetaGouv/trait-d-union-backend
└── (empty)

I will dig to find if any node_modules is present in a parent directory.

@HEYGUL
Copy link
Author

HEYGUL commented Mar 20, 2019

Spotted! I did find a node_modules in parent path (in my home directory itself)
Deleting it fixed the issue.

Thank you very much for the fast and effective support!

@pSnehanshu
Copy link

It doesn't work for me.

@pSnehanshu
Copy link

Solution: #2751 (comment)

@raymondfeng
Copy link
Contributor

Did you check #2611 (comment)?

@pSnehanshu What are the exact steps to reproduce the issue? lb4 app trait-d-union-backend --yes works for me on Mac.

@pSnehanshu
Copy link

@raymondfeng Yes, I checked that comment, not applicable in my case.
I tried lb4 app, then filled up the form, and then this error occurs. I then deleted the node_modules folder inside the project directory and then run npm install, the error occurred again.
Then I did this #2751 (comment), and it worked!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants