@ प्रकार / अनुक्रमिक त्रुटि TS1086: परिवेश के संदर्भ में एक एक्सेसर को घोषित नहीं किया जा सकता है


10

मेरे पास एक प्रोजेक्ट है जो 'tsc' चलाने पर इस त्रुटि को दिखाता है:

../modules/node_modules/sequelize/types/lib/transaction.d.ts:33:14 - error TS1086: An accessor cannot be declared in an ambient context.

33   static get LOCK(): LOCK;
                ~~~~

../modules/node_modules/sequelize/types/lib/transaction.d.ts:40:7 - error TS1086: An accessor cannot be declared in an ambient context.

40   get LOCK(): LOCK;
         ~~~~

मेरे संस्करण हैं:

  • "@ प्रकार / अगली कड़ी": "^ 4.28.6"
  • "अगली कड़ी": "^ 5.8.10"
  • "अगली कड़ी-टाइपस्क्रिप्ट": "1.0.0-Beta.4"

प्रोजेक्ट नोडम के साथ ठीक काम करता है, लेकिन जब मैं टाइपस्क्रिप्ट को संकलित करने की कोशिश करता हूं तो वह विफल हो जाता है। किसी को भी इस त्रुटि को जानता है?

धन्यवाद।

जवाबों:


13

आपको टाइपस्क्रिप्ट 3.7 का उपयोग करने की आवश्यकता है।

टाइपस्क्रिप्ट से 3.7 रिलीज नोट:

To detect the issue around accessors, TypeScript 3.7 will now emit get/set accessors in .d.ts files so that in TypeScript can check for overridden accessors.

तो संभवतः sequelizeटाइपस्क्रिप्ट 3.7 के साथ संकलित किया गया था और परिभाषा फ़ाइलों का उत्सर्जन करता है जो पिछले संस्करणों को समझ में नहीं आता है। तो आपको टाइप-थ्रू 3.7 पर अपग्रेड करने या सीक्वेलाइज के पुराने संस्करण का उपयोग करने की आवश्यकता होगी।


क्या होगा अगर मैं 3.7 में अपग्रेड नहीं कर सकता हूं? एक और विचार है?
श्लोमी लेवी

यह एक आकर्षण की तरह काम करता है
आदित्य कृष्ण परमान

@ShlomiLevi के पिछले संस्करण का उपयोग करें@types/sequelize
Aviad हदद

3
कोणीय 8 केवल टाइपस्क्रिप्ट <V3.5
Ratshi Wayaho Wayne

आप सही हैं, मेरे पास यह मुद्दा हाल ही में था और कुछ खोजों के बाद मैंने गितुब में बंद एक मुद्दे को खारिज कर दिया, इसलिए समस्या को ठीक करने के लिए मुझे टाइपस्क्रिप्ट संस्करण को 3.7.2 संस्करण में अपग्रेड करना पड़ा।
थियागो वैलेंटाइन

23

मेरे पास कोणीय 8 है । यह 3.4.5 के टाइपस्क्रिप्ट संस्करण के साथ काम कर रहा है। इसलिए इस समस्या को नीचे दिए गए चरणों में हल करें।

चरण 1) tsconfig.json फ़ाइल पर जाएं

चरण 2) SkipLibCheck जोड़ें : "संकलनकर्ता" ऑब्जेक्ट में सच है। इससे मेरा काम बनता है।

"compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "strict": true,
    "target": "es5",
    "declaration": true,
    "declarationDir": "dist-debug/",
    "skipLibCheck": true, /// Needs to be true to fix wrong alias types being used

  },

धन्यवाद। "SkipLibCheck": यह सच है (नेस्ट्स से संबंधित tsconfig में जोड़ा गया), काम किया और नेस्टजेस नेस्ट जी एनजी-ऐप के माध्यम से ऐप के साथ काम किया।
Алексей Медведев

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.