Hai pak!
Laporan bug
Saya mendapatkan kesalahan berikut di bawah ini:
GALAT di [at-loader] ./node_modules/protractor/built/index.d.ts:5:10
TS2440: Deklarasi impor bertentangan dengan deklarasi lokal 'PluginConfig'.
GALAT di [at-loader] ./node_modules/protractor/built/index.d.ts:5:24
TS2440: Deklarasi impor bertentangan dengan deklarasi lokal 'ProtractorPlugin'.
10.5.0
~5.1.2
^4.2.4
any
Windows 10
const { SpecReporter } = require('jasmine-spec-reporter');
export.config = {
allScriptsTimeout: 11000,
spesifikasi: [
'./e2e/ */ .e2e-spec.ts'
],
kemampuan: {
'nama browser': 'chrome'
},
DirectConnect: benar,
baseUrl: ' http://localhost :4200/',
kerangka: 'melati',
jasmineNodeOpts: {
showColors: benar,
defaultTimeoutInterval: 30000,
cetak: fungsi() {}
},
siapsiap() {
membutuhkan('ts-node').register({
proyek: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
Permintaan fitur
Tolong bantu saya untuk menyelesaikannya
Mulai hari ini saya mendapatkan masalah yang sama (dengan Busur Derajat 5.4.2 dan Angular 8)
Masalah yang sama di sini dengan Busur Derajat 5.4.2 dan Angular 8
Saya mengalami ini hari ini saat memutakhirkan versi TypeScript kami. Kami menggunakan AngularJS dan itu terjadi untuk Busur Derajat 5.4.1 dan 5.4.2. Saya tidak mendapatkan kesalahan pada TypeScript 3.6.4 (3.6.x), tetapi saya melakukannya dengan TypeScript 3.7.2 (3.7.x). Saya yakin ini terkait dengan perubahan yang melanggar ini: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#local -and-imported-type-declarations-now-conflict
Tolong perbaiki; kita perlu penggabungan nol! :)
Masalah yang sama disini. Proyek saya ada di Protractor 5.4.2 dan kami ingin bermigrasi ke TypeScript 3.7 .
Akan sangat bagus untuk mendukung perbaikan (pasti berhasil):
89fbf75d4103db2cd20fd0c1c4ca7efebc52c049
37bef24331c1012bfc2cc7d3fa259a00e69bd192
dari master ke 5.4.2
5.4.2 adalah versi terbaru yang tersedia di npmjs.com .
6.0.0 berisi perubahan yang melanggar, jadi ini tidak baik untuk proyek saya.
( https://github.com/angular/protractor/blob/6.0.0/CHANGELOG.md )
CC: @sandersn @heathkit
Duplikat #5325
Sunting: Saya harus mengklarifikasi bahwa saya bekerja di tim TypeScript, bukan tim Angular. Saya berbicara dengan beberapa anggota tim yang mengatakan mereka akan mencoba untuk menerbitkan versi 5.* yang baru, tetapi saya yakin prosesnya tidak sederhana.
Hari ini saya telah menurunkan versi TypeScript dari 3.7.x ke 3.6.x.,Ini berfungsi dengan baik. Terima kasih mattcasey
Terima kasih telah mengklarifikasi @sandersn; itu akan menjadi pertanyaan saya berikutnya. Kami tidak bergantung pada kontrol aliran dan saya mencoba memperbarui ke 6.0.0 tetapi bahkan paket yang diterbitkan itu tampaknya belum Anda perbaiki. Akan sangat bagus jika seseorang dari tim dapat berkomentar di sini: apakah kita berbicara beberapa hari, beberapa bulan, atau lebih?
Sunting: Saya menawarkan bantuan tetapi sepertinya penundaan itu "hanya" dalam merilis versi baru :)
Sunting 2: Karena sisa sistem kami telah pindah ke TS 3.7, yang lebih rendah dari dua kejahatan bagi saya adalah untuk mengganti jenis dari busur derajat untuk saat ini dengan menautkan ke file .d.ts khusus di tsconfig kami: https:// www.typescriptlang.org/docs/handbook/module-resolution.html#path -mapping
@mattcasey Bisakah Anda menjelaskan lebih detail cara kerja perbaikan Anda saat ini? Hanya file index.d.ts yang disalin dengan jalur ekspor yang benar dan kemudian menggunakan pemetaan jalur untuk memetakan busur derajat ke file baru?
Perbarui jenis/ketergantungan simpul
npm install -g @types/node@8
Pastikan tipe/simpul terdaftar di devDependencies dan dependencies
"dependencies": {
...
"@types/node": "^8.10.59",
...
},
"devDependencies": {
...
"@types/node": "^8.10.59",
...
}
Jika ini terjadi dengan modul apa pun yang menggunakan TypeScript 3.7.2, Anda dapat menggunakan pernyataan "sebagai".
import { module as otherModuleName } from "./module"
Atau Anda dapat mengekspor modul sebagai default sehingga Anda dapat menggunakan nama variabel yang berbeda
Hari ini saya telah menurunkan versi TypeScript dari 3.7.x ke 3.6.x.,Ini berfungsi dengan baik. Terima kasih mattcasey
Itu menempatkan "typescript": "~3.6" ke file package.json kemudian jalankan "npm install" di terminal dan itu berhasil untuk saya. Terima kasih!
Masalah yang sama dan ketika saya menurunkan ke 3.6.4 itu berhasil.
Masalah yang sama di sini, saya harus npm uninstall -g typescript
sehingga versi lokal tsc
akan diprioritaskan. Saya bisa saja mengacaukan PATH
sebagai gantinya…
@ woppa684 perbaikan saya pada dasarnya adalah membuat tipe saya sendiri untuk Busur Derajat dan memberi tahu TypeScript untuk mengabaikan yang ada di dalam node_modules. File protractor.d.ts
(terletak di proyek saya di test-e2e/protractor.d.ts
) saya terlihat seperti ini:
// Note: This stub exists to override Protractor types which are incompatible with TS 3.7 as of 5.4.2 and 6.0.0
declare module 'protractor' {
let browser: any;
let element: any;
let by: any;
let ExpectedConditions: any;
let until: any;
let Key: any;
}
Dan kemudian di tsconfig:
{
...
"compilerOptions": {
...
"paths": {
"protractor": ["test-e2e/protractor.d.ts"]
}
}
}
Ini memungkinkan saya untuk menggunakan TypeScript 3.7 dengan kelemahan bahwa metode busur derajat tidak lagi aman untuk mengetik.
Solusi alternatif yang kami gunakan adalah membuat build busur derajat yang https://github.com/angular/protractor/pull/5326/
Kami daripada sementara menggunakannya alih-alih busur derajat
// package.json
"protractor": "tomyam1/protractor-ts3.7-fix"
Saya mengalami masalah ini pada devops dengan Angular. Ini baru mulai terjadi. Saya kembali dan mengambil package.json dan package-lock.json dari waktu yang saya tahu itu berhasil.
Saya memutakhirkan Angular. Saya mencoba beberapa versi TypeScript yang berbeda. Ini berfungsi di komputer lokal saya, tetapi tidak di devops. Hanya bagian vs build yang gagal. Hal-hal npm/ng berjalan dengan baik.
Semuanya bekerja sepenuhnya di sistem saya.
https://developercommunity.visualstudio.com/content/problem/855096/npm-ng-suddenly-not-working-conflict-pluginconfig.html
Jika ini terjadi dengan modul apa pun yang menggunakan TypeScript 3.7.2, Anda dapat menggunakan pernyataan "sebagai".
import { module as otherModuleName } from "./module"
Atau Anda dapat mengekspor modul sebagai default sehingga Anda dapat menggunakan nama variabel yang berbeda
@anicarrr , Bisakah Anda memberikan contoh untuk jawaban kedua yang Anda berikan?
Mungkin bukan solusi terbaik untuk semua orang, tetapi Anda harus dapat memperbaikinya dengan menambahkan yang berikut ini di tsconfig.json:
"skipLibCheck": true
Jika ini terjadi dengan modul apa pun yang menggunakan TypeScript 3.7.2, Anda dapat menggunakan pernyataan "sebagai".
import { module as otherModuleName } from "./module"
Atau Anda dapat mengekspor modul sebagai default sehingga Anda dapat menggunakan nama variabel yang berbeda@anicarrr , Bisakah Anda memberikan contoh untuk jawaban kedua yang Anda berikan?
Maksud saya mengekspor seperti:
export default myModule
jadi ketika Anda mengimpornya, Anda bisa menggunakan nama apa pun yang Anda inginkan, seperti:
import whateverName from myModule
Ini diperbaiki di https://github.com/angular/protractor/pull/5326 . Kami sedang bekerja untuk mendapatkan rilis patch.
fyi: sementara itu menggunakan opsi kompiler tsc "skipLibCheck": true
harus menjadi solusi yang memadai bagi mereka yang terpengaruh oleh masalah ini.
Hai pak!
Laporan bug
Saya mendapatkan kesalahan berikut di bawah ini:GALAT di [at-loader] ./node_modules/protractor/built/index.d.ts:5:10
TS2440: Deklarasi impor bertentangan dengan deklarasi lokal 'PluginConfig'.
GALAT di [at-loader] ./node_modules/protractor/built/index.d.ts:5:24
TS2440: Deklarasi impor bertentangan dengan deklarasi lokal 'ProtractorPlugin'.
- Versi Simpul:
10.5.0
- Versi Busur Derajat:
~5.1.2
- Versi Sudut:
^4.2.4
- Peramban:
any
- Sistem Operasi dan Versi
Windows 10
- File konfigurasi busur derajat Anda
const { SpecReporter } = require('jasmine-spec-reporter');
export.config = {
allScriptsTimeout: 11000,
spesifikasi: [
'./e2e/ */ .e2e-spec.ts'
],
kemampuan: {
'nama browser': 'chrome'
},
DirectConnect: benar,
baseUrl: ' http://localhost :4200/',
kerangka: 'melati',
jasmineNodeOpts: {
showColors: benar,
defaultTimeoutInterval: 30000,
cetak: fungsi() {}
},
siapsiap() {
membutuhkan('ts-node').register({
proyek: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
- Langkah-langkah untuk mereproduksi bug - npm run build gagal
Permintaan fitur
Tolong bantu saya untuk menyelesaikannya
Hai SachinBN,
Anda perlu mengubah versi TypeScript yang diinstal di proyek. Gunakan perintah di bawah ini di terminal Kode VS untuk mengubah versi (tanpa tanda kutip).
"NPM install -g [email protected] "
Setelah selesai, silakan periksa versi TypeScript di proyek Anda di VS Code, menggunakan perintah di bawah ini
"tsc -v"
Ini harus menunjukkan 3.6.2. Silakan gunakan versi yang sama dalam file package.json. Setelah versi diubah menjadi 3.6.2, jalankan "tsc" lagi, kesalahan akan hilang.
Semoga ini membantu.
Salam,
ameya
Saya memiliki masalah ini di aplikasi sudut saya dan saya dapat menyelesaikannya dengan menghapus pernyataan impor busur derajat yang secara otomatis ditambahkan oleh saran.
Suka:
impor { elemen } dari 'busur derajat'
impor { janji } dari 'busur derajat'
Hapus saja, saya akan berjalan seperti yang diharapkan.
Milik saya berfungsi, saya harap kode Anda juga berfungsi.
Salam,
Nishit Zinzuvadiya
npx tsc -v
Version 3.8.3
Node dan NPM terbaru.
File saya
import * as mysql from "mysql2";
const config =
process.env.NODE_ENV == "prod"
? {
connectionLimit: 10,
host: "*********.rds.amazonaws.com",
user: "admin",
database: "p_" + process.env.PROJECT_ID,
password: "*********",
prefix: `p_${process.env.PROJECT_ID}_`
}
: {
connectionLimit: 10,
host: "host.docker.internal",
user: "root",
database: "i**_project",
password: "root",
prefix: ""
};
export const db = mysql.createPool(config);
export const prefix = config.prefix;
Dan saya memiliki kesalahan yang sama
npm run start
> [email protected] start /workspaces/icod-prt
> npx tsc && node build/index.js
typings/modules/mysql2/index.d.ts:677:1 - error TS2440: Import declaration conflicts with local declaration of 'Connection'.
677 import Connection = require('~mysql2~mysql/lib/Connection');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typings/modules/mysql2/index.d.ts:679:1 - error TS2440: Import declaration conflicts with local declaration of 'PoolConnection'.
679 import PoolConnection = require('~mysql2~mysql/lib/PoolConnection');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typings/modules/mysql2/index.d.ts:680:1 - error TS2440: Import declaration conflicts with local declaration of 'Pool'.
680 import Pool = require('~mysql2~mysql/lib/Pool');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typings/modules/mysql2/index.d.ts:682:1 - error TS2440: Import declaration conflicts with local declaration of 'PoolCluster'.
682 import PoolCluster = require('~mysql2~mysql/lib/PoolCluster');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
typings/modules/mysql2/index.d.ts:684:1 - error TS2440: Import declaration conflicts with local declaration of 'Query'.
684 import Query = require('~mysql2~mysql/lib/protocol/sequences/Query');
Terkadang kompiler TypeScript hanya menyalahkan kesalahan pada senjata merokok orang lain.
Saya mendapat pesan kesalahan persis OP hari ini saat mengerjakan file uji unit .spec.ts. Karena saya tidak membutuhkan Busur Derajat untuk pengujian unit, saya untuk sementara mencopotnya dengan npm uninstall protractor
yang kemudian menyebabkan TypeScript mengeluarkan kesalahan yang sebenarnya:
ERROR in src/app/.../...spec.ts:12:30 - error TS2307: Cannot find module 'protractor'.
12 import { EventEmitter } from 'protractor';
Penyebabnya adalah Visual Studio Code secara misterius membuat pernyataan impor otomatis ini alih-alih yang normal, import { EventEmitter } from '@angular/core';
masih punya ini di 4.0.2.. hmmm
Saya memiliki masalah ini di aplikasi sudut saya dan saya dapat menyelesaikannya dengan menghapus pernyataan impor busur derajat yang secara otomatis ditambahkan oleh saran.
Suka:
impor { elemen } dari 'busur derajat'
impor { janji } dari 'busur derajat'Hapus saja, saya akan berjalan seperti yang diharapkan.
Milik saya berfungsi, saya harap kode Anda juga berfungsi.Salam,
Nishit Zinzuvadiya
Bagi saya itu adalah impor otomatis VSCode, yang mengimpor EventEmitter
dari Protractor
alih-alih @angular/core
. Memperbaiki ini memperbaiki masalah bagi saya.
Komentar yang paling membantu
Mungkin bukan solusi terbaik untuk semua orang, tetapi Anda harus dapat memperbaikinya dengan menambahkan yang berikut ini di tsconfig.json: