'TS2305: Module '"typeorm"' has no exported member 'Column' with Ionic v6 and angular 12
I recently update Ionic v5 to v6 and angular v10 to v12 then this typeorm error is shown when I run the ionic build command
ERROR in src/app/entities/ttAgrupacion.ts:1:9 - error TS2305: Module '"typeorm"' has no exported member 'Column'.
1 import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm';
~~~~~~
src/app/entities/ttAgrupacion.ts:1:17 - error TS2305: Module '"typeorm"' has no exported member 'Entity'.
1 import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm';
~~~~~~
src/app/entities/ttAgrupacion.ts:1:25 - error TS2305: Module '"typeorm"' has no exported member 'Index'.
1 import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm';
~~~~~
src/app/entities/ttAgrupacion.ts:1:32 - error TS2305: Module '"typeorm"' has no exported member 'PrimaryGeneratedColumn'.
1 import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm';
This things already try to fix this issue with out success.
1- delete node_modules and package and npm install later 2- close and open de IDE 3- reinstall typeorm
Observations
1- if I run the build with ionic serve the entire app works OK.
ttAgrupacion.ts
import {Column, Entity, Index, PrimaryGeneratedColumn} from 'typeorm';
@Index(['iddistribuidora','idagr'])
@Entity('ttAgrupacion')
export class ttAgrupacion {
@PrimaryGeneratedColumn( )
id: number;
@Column({ nullable: true , type: 'varchar'})
color:string;
@Column({ nullable: true, type: 'varchar' })
descripcion: string;
@Column({ nullable: true, type: 'varchar' })
idagr: string;
@Column({ nullable: true , type: 'varchar'})
iddistribuidora: string;
@Column({ nullable: true, type: 'int' })
idsucursal: number;
@Column({ nullable: true, type: 'int' })
idfuerzaventas: number;
@Column({ nullable: true , type: 'varchar'})
idfiltro: string;
@Column({ nullable: true, type: 'varchar' })
imagen: string;
seleccionado: boolean | false;
isexpandido: boolean | false;
orden: number;
orden2: number;
stringify:string;
url: string;
ispromo:boolean|false;
ishot:boolean|false;
iscombo:boolean|false;
constructor() {
}
}
package.json
"sideEffects": false,
"browser": {},
"private": true,
"dependencies": {
"@angular/animations": "12.2.16",
"@angular/common": "12.2.16",
"@angular/compiler": "12.2.16",
"@angular/core": "12.2.16",
"@angular/fire": "^5.4.2",
"@angular/forms": "12.2.16",
"@angular/http": "7.2.16",
"@angular/platform-browser": "12.2.16",
"@angular/platform-browser-dynamic": "12.2.16",
"@angular/router": "12.2.16",
"@awesome-cordova-plugins/core": "^5.39.1",
"@awesome-cordova-plugins/keyboard": "^5.39.1",
"@ionic-native/app-update": "^5.36.0",
"@ionic-native/barcode-scanner": "^5.36.0",
"@ionic-native/clipboard": "5.36.0",
"@ionic-native/core": "^5.36.0",
"@ionic-native/fcm": "5.27.0",
"@ionic-native/file": "5.27.0",
"@ionic-native/firebase-analytics": "5.30.0",
"@ionic-native/geolocation": "5.27.0",
"@ionic-native/google-plus": "5.27.0",
"@ionic-native/in-app-browser": "5.27.0",
"@ionic-native/ionic-webview": "^5.36.0",
"@ionic-native/native-audio": "5.27.0",
"@ionic-native/splash-screen": "5.27.0",
"@ionic-native/status-bar": "5.27.0",
"@ionic/angular": "^6.1.5",
"@ionic/angular-server": "^6.1.4",
"@ionic/cli": "^6.17.1",
"@ionic/core": "^6.1.5",
"@ionic/storage": "2.1.3",
"compare-func": "2.0.0",
"cordova-android": "10.1.1",
"cordova-clipboard": "1.3.0",
"cordova-plugin-firebase-analytics": "5.0.0",
"cordova-support-android-plugin": "1.0.2",
"cordova-support-google-services": "1.4.1",
"firebase-admin": "^9.11.1",
"ion2-calendar": "3.0.0-rc.0",
"natives": "^1.1.6",
"ngx-mask": "8.1.6",
"patch-package": "^6.4.7",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.11.5"
},
"devDependencies": {
"@angular-builders/custom-webpack": "9.2.0",
"@angular-builders/dev-server": "7.3.1",
"@angular-devkit/architect": "^0.1202.6",
"@angular-devkit/build-angular": "~12.2.17",
"@angular-devkit/core": "^12.2.6",
"@angular-devkit/schematics": "^12.2.6",
"@angular/cli": "12.2.17",
"@angular/compiler-cli": "12.2.16",
"@angular/language-service": "12.2.16",
"@firebase/app": "0.6.1",
"@firebase/polyfill": "0.3.29",
"@ionic-native/app-availability": "5.27.0",
"@ionic-native/app-version": "5.27.0",
"@ionic-native/device": "5.27.0",
"@ionic-native/sign-in-with-apple": "5.27.0",
"@ionic-native/unique-device-id": "5.27.0",
"@ionic/angular-toolkit": "^5.0.3",
"@ionic/app-scripts": "^3.0.0",
"@types/file-saver": "2.0.0",
"@types/googlemaps": "3.25.36",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.20.47",
"angular-ionic-cli-builders": "^2.1.4",
"angular2-uuid": "1.1.1",
"bluebird": "3.5.1",
"codelyzer": "^6.0.0",
"compression-webpack-plugin": "6.1.1",
"cordova": "10.0.0",
"cordova-ios": "6.2.0",
"cordova-plugin-app-launcher": "0.4.0",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-appavailability": "0.4.2",
"cordova-plugin-apple-login": "1.0.0",
"cordova-plugin-browsertab": "0.2.0",
"cordova-plugin-buildinfo": "2.0.3",
"cordova-plugin-camera": "4.1.0",
"cordova-plugin-compat": "1.2.0",
"cordova-plugin-device": "2.0.3",
"cordova-plugin-fcm-with-dependecy-updated": "7.8.0",
"cordova-plugin-file": "6.0.2",
"cordova-plugin-geolocation": "2.4.3",
"cordova-plugin-googleplayservices": "19.0.3",
"cordova-plugin-googleplus": "8.5.2",
"cordova-plugin-inappbrowser": "4.0.0",
"cordova-plugin-ionic-keyboard": "2.2.0",
"cordova-plugin-ionic-webview": "5.0.0",
"cordova-plugin-nativeaudio": "3.0.9",
"cordova-plugin-nativestorage": "2.3.2",
"cordova-plugin-sign-in-with-apple": "0.1.1",
"cordova-plugin-splashscreen": "6.0.0",
"cordova-plugin-statusbar": "2.4.3",
"cordova-plugin-uniquedeviceid": "1.3.2",
"cordova-plugin-whitelist": "1.3.5",
"cordova-sqlite-storage": "^6.0.0",
"core-js": "2.5.4",
"file-saver": "2.0.0",
"firebase": "7.14.0",
"gulp-sass": "4.0.2",
"info.protonet.imageresizer": "0.1.1",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~6.3.19",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.5.0",
"local-storage": "1.4.2",
"moment": "2.27.0",
"ng2-reactive-forms-validators": "1.1.0",
"ngx-mask-ionic": "1.1.2",
"phonegap-plugin-barcodescanner": "^8.1.0",
"protractor": "~7.0.0",
"q": "1.5.1",
"react-native-quick-sqlite": "^3.0.3",
"reflect-metadata": "^0.1.12",
"rimraf": "3.0.2",
"sql.js": "1.3.2",
"sqlite3": "^5.0.2",
"sw-toolbox": "3.6.0",
"terser-webpack-plugin": "^4.2.3",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typeorm": "^0.2.31",
"typescript": "~4.3.5",
"webpack": "^4.46.0",
"webpack-dev-server": "^4.2.0"
},
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"strict": false,
"allowJs": true,
"target": "ES5",
"skipLibCheck": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es5", "es6", "es7",
"es2015", "es2016",
"es2017", "es2018",
"esnext",
"dom"
]
},
"angularCompilerOptions": {
"enableIvy": false ,
},
"include": [],
"exclude": [
"platforms",
"node_modules",
"**/*.spec.ts"
],
"atom": {
"rewriteTsconfig": false
}
}
ionic info
Ionic:
Ionic CLI : 5.4.16 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 6.1.5
@angular-devkit/build-angular : 12.2.17
@angular-devkit/schematics : 12.2.17
@angular/cli : 12.2.17
@ionic/angular-toolkit : 5.0.3
Cordova:
Cordova CLI : 10.0.0 ([email protected])
Cordova Platforms : not available
Cordova Plugins : not available
Utility:
cordova-res (update available: 0.15.4) : 0.15.3
native-run (update available: 1.5.0) : 1.4.0
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.11.4
ios-sim : 8.0.2
NodeJS : v14.17.0 (/usr/local/bin/node)
npm : 6.14.13
OS : macOS Monterey
Xcode : Xcode 13.3.1 Build version 13E500a
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|