2016-10-25 10 views
3

分度器4.0.5でTypescript 2.0を使用するようにアップグレードしています。私はtypescript 1.8と分度器3.8からプロジェクトをアップグレードしています。私はここに共有する、問題の束accross来ている:Typescript 2.0.0を使用した分度器重複した識別子の問題

マイpackage.jsonは以下のとおりです。

{ 
"dependencies": { 
"core-js": "2.2.2", 
"rxjs": "5.0.0-beta.6", 
"web-request": "^1.0.3", 
"zone.js": "0.6.12" 
}, 
"devDependencies": { 
"@types/jasmine": "^2.5.35", 
"@types/node": "^6.0.45", 
"@types/protractor": "^1.5.20", 
"@types/selenium-webdriver": "^2.53.33", 
"es6-promise": "3.1.2", 
"es6-promise-loader": "1.0.1", 
"es6-shim": "0.35.0", 
"es7-reflect-metadata": "1.6.0", 
"exports-loader": "0.6.3", 
"imports-loader": "0.6.5", 
"jasmine-reporters": "^2.2.0", 
"json-loader": "0.5.4", 
"mkdirp": "^0.5.1", 
"phantomjs-polyfill": "0.0.2", 
"phantomjs-prebuilt": "2.1.7", 
"pix-diff": "^1.0.14", 
"protractor": "4.0.5", 
"protractor-jasmine2-html-reporter": "0.0.6", 
"protractor-jasmine2-screenshot-reporter": "^0.3.2", 
"raw-loader": "0.5.1", 
"rimraf": "2.5.2", 
"ts-helpers": "1.1.1", 
"ts-node": "0.7.1", 
"tslint": "3.7.4", 
"tslint-loader": "2.1.3", 
"typedoc": "0.4.3", 
"typescript": "^2.0.0-beta", 
"underscore": "^1.8.3" 
} 

その後、私のパッケージJSONは次のとおりです。

"compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "noEmitHelpers": true, 
    "lib": ["es6", "dom"], 
    "types":[ 
    ] 
    }, 
    "exclude": [ 
    "node_modules", 
    "typings" 
    ], 
    "filesGlob": [ 
    "./src/**/*.ts", 
    "!./node_modules/**/*.ts" 
    ], 
    "awesomeTypescriptLoaderOptions": { 
    "resolveGlobs": true, 
    "forkChecker": true, 
    "compiler": "node_modules/typescript" 
    }, 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { "rewriteTsconfig": false } 
} 

私は分度器を実行しようとするとそのセットアップでのテストでは、次のようなエラーが発生します。

node_modules\@types\selenium-webdriver\index.d.ts (12,11): Duplicate identifier 'Driver'. (2300) 
node_modules\@types\selenium-webdriver\index.d.ts (46,11): Duplicate identifier 'Options'. (2300) 
node_modules\@types\selenium-webdriver\index.d.ts (310,11): Duplicate identifier 'ServiceBuilder'. (2300) 
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (12,11): Duplicate identifier 'Driver'. (2300) 
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (46,11): Duplicate identifier 'Options'. (2300) 
node_modules\protractor\typings\globals\selenium-webdriver\index.d.ts (310,11): Duplicate identifier 'ServiceBuilder'. (2300) 

この問題を解決する方法は、I belすべてが正しく設定されています。私はtypescript 2.0で動くはずのProtractor 4.0.5を使用しています。

+0

あなたのために有用であるかもしれないあなたが原因となる最小限 '* .ts'ファイルを追加できます問題?私は分度器について何も知らないが、これはタイプ定義の問題のように思えるので、私は助けてみることができる。 –

+0

@HuyNguyen Ok。今日のサンプルリポジトリを後で追加します。 –

答えて

0

protractorで問題をオープンしてください。それはselenium-webdriverの入力をそのパッケージに展開すべきではありません。あなたは、単に分度器あなたのバージョンをアップグレードすることができるように」、

// tsconfig.json 
{ 
    "exclude": [ 
    "node_modules/protractor/typings/global/selenium-webdriver" 
    ] 
} 
2

分度器は、バージョン5.xバージョンで型宣言を削除:

今のところ、それは問題を解決するかどうかを確認するために、この醜いハックを試してみてください再使用し、問題はなくなるはずです。

あなたは/バージョン4.0.5に滞在したい場合、あなたは常に実行することにより、webdriverをタイプをアンインストールすることができます。

npm uninstall --save-dev @types/selenium-webdriver 
0

はこのようなものを使用してみてください。私は活字体2と分度器を設定するためのテンプレートを作成しtypeRootsexclude

{ 
"compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "noEmitHelpers": true, 
    "lib": ["es6", "dom"], 
    "types":[ 
    ], 
    "typeRoots": [ 
     "node_modules/@types" 
    ] 
    }, 
    "exclude": [ 
    "node_modules", 
    "node_modules/protractor/node_modules" 
    ], 
    "filesGlob": [ 
    "./src/**/*.ts", 
    "!./node_modules/**/*.ts" 
    ], 
    "awesomeTypescriptLoaderOptions": { 
    "resolveGlobs": true, 
    "forkChecker": true, 
    "compiler": "node_modules/typescript" 
    }, 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { "rewriteTsconfig": false } 
} 

を変更:https://github.com/suvroc/protractor-typescript-template

それは

関連する問題