简体   繁体   中英

How to deal with a conflict between packages that involve typescript?

I was following this tutorial for creating a whatsapp clone on meteor: https://angular-meteor.com/tutorials/whatsapp2/meteor/chats-mutations

and was right at the bottom of section 8. I ran the

$meteor reset command

as instructed however, when I then ran the

$ npm run start

in the terminal, I got the following error:

=> Started proxy.                             
=> Errors prevented startup:                  

   While building the application:
   error: Could not resolve meteor.mainModule "server/main.js" in package.json
   (os)
   error: Could not resolve meteor.mainModule "client/main.js" in package.json
   (web.browser)
   error: Could not resolve meteor.mainModule "client/main.js" in package.json
   (web.browser.legacy)
   error: Could not resolve meteor.mainModule "client/main.js" in package.json
   (web.cordova)

   While determining active plugins:
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.ts
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.tsx

   While loading plugin `compileFonts` from package `mys:fonts`:
   <anonymous>: Unexpected end of JSON input
   at JSON.parse (<anonymous>)
   at getConfig (packages/compileFonts/plugin.js:70:23)
   at meteorInstall.node_modules.meteor.compileFonts.plugin.js
   (packages/compileFonts/plugin.js:18:25)
   at fileEvaluate
   (packages/modules-runtime/.npm/package/node_modules/install/install.js:141:1)
   at require
   (packages/modules-runtime/.npm/package/node_modules/install/install.js:75:1)
   at <runJavaScript-49>:17308:1
   at <runJavaScript-49>:17314:3


   While determining active plugins:
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.ts
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.tsx

   While determining active plugins:
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.ts
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.tsx

   While determining active plugins:
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.ts
   error: conflict: two packages included in the app (barbatus:typescript and
   typescript) are both trying to handle *.tsx

=> Your application has errors. Waiting for file change.
=> Started MongoDB. 

What should I do to solve this problem?

If it helps, I am doing this project in Visual Studio Code

Meteor has now official Typescript support, you can safely drop barbartus:typescript however it's a peer dependency in a package of the tutorial's repo (it has not been updated in 3 years).

Remove the angular2-compilers from .meteor/packages and replace it with the angular-compilers ( link ) which should make it work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM