3.15.1
2.0.6
إذا قمت بكتابة "tslint --project." إنها تعمل:
...
src/core/app.ts[1, 33]: ' should be "
src/core/app.ts[3, 26]: ' should be "
src/core/app.ts[4, 27]: ' should be "
src/core/app.ts[5, 29]: ' should be "
src/core/app.ts[7, 21]: ' should be "
src/core/app.ts[7, 30]: ' should be "
src/core/app.ts[27, 22]: ' should be "
src/core/app.ts[28, 23]: ' should be "
src/core/app.ts[1, 62]: Missing semicolon
src/core/app.ts[3, 35]: Missing semicolon
src/core/app.ts[4, 37]: Missing semicolon
src/server.ts[1, 21]: ' should be "
src/server.ts[2, 17]: ' should be "
src/server.ts[1, 33]: Missing semicolon
إذا قمت بتشغيل نفس الأمر باستخدام برنامج نصي npm ، فسأحصل على:
me@me-ubu-N3355SL:~/project/server$ npm run lint
> [email protected] lint /project/server
> tslint --project '.'
Usage: /usr/bin/nodejs ./node_modules/.bin/tslint [options] [file ...]
Options:
-c, --config configuration file
-h, --help display detailed help
-i, --init generate a tslint.json config file in the current working directory
-o, --out output file
-r, --rules-dir rules directory
-s, --formatters-dir formatters directory
-e, --exclude exclude globs from path expansion
-t, --format output format (prose, json, verbose) [default: "prose"]
--test test that tslint produces the correct output for the specified directory
-v, --version current version
Missing files
npm ERR! Linux 4.8.0-26-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "lint"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] lint: `tslint --project '.'`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] lint script 'tslint --project '.''.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! tslint --project '.'
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs server
npm ERR! Or if that isn't available, you can get their i...
وهذا ما أحصل عليه في npm-debug.log
13 info lifecycle [email protected]~lint: Failed to exec lint script
14 verbose stack Error: [email protected] lint: `tslint --project '.'`
14 verbose stack Exit status 1
14 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:191:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at ChildProcess.emit (events.js:191:7)
14 verbose stack at maybeClose (internal/child_process.js:877:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
هل يمكنك محاولة تشغيل tslint --project '.'
في سطر الأوامر؟
حاول تحرير ملف package.json الخاص بك لعدم استخدام علامات الاقتباس المفردة؟
هل تعمل بمسار مطلق؟
tslint --project '.'
في سطر الأوامر.
"lint": "tslint --project .",
this و "lint": "tslint --project '.'",
لا تعملان باستخدام npm run lint
لقد استخدمت pwd لتحديد المسار الكامل لمشروعي وحاولت أيضًا:
npm run lint
مع برنامج نصي مثل "lint": "tslint --project fullpath/",
ولم يعمل أيضًا.
لقد لاحظت للتو أن نص المساعدة لا يتضمن --project
. أنت تقوم بتشغيل إصدار قديم من tslint عند التشغيل باستخدام npm ، والذي لا يدعم هذا الخيار. أظن أن لديك إصدارًا واحدًا مثبتًا عالميًا وآخر آخر في node_modules
@ nchen63 أكدت أن الأمر لم يكن كذلك.
وجدت شيئًا جديدًا وكان غريبًا جدًا
root@.../.../...# npm install typescript -g
/usr/bin/tsc -> /usr/lib/node_modules/typescript/bin/tsc
/usr/bin/tsserver -> /usr/lib/node_modules/typescript/bin/tsserver
/usr/lib
└── [email protected]
root@.../.../...# npm install -g tslint
/usr/bin/tslint -> /usr/lib/node_modules/tslint/bin/tslint
/usr/lib
├── [email protected]
└── UNMET PEER DEPENDENCY typescript@>=1.7.3
@ bertolo1988 الذي يشبه https://github.com/palantir/tslint/issues/1003
@ bertolo1988 حاول تغيير البرنامج النصي npm -v
وشاهد الإصدار الذي يشير إليه
@ nchen63
npm run lint
> npm -v
يعطي: 3.10.8 ، مثل npm -v
لاحظ أن الأشخاص الذين لديهم # 1003 لا يزال بإمكانهم استخدام tslint ... لا يمكنني ذلك.
سبب سؤالي هو أنك أدرجت 3.15.1 في تقرير الخطأ الخاص بك. تم تقديم العلم --project
في 3.14.0
آه ، آسف ، هل يمكنك تشغيل tslint -v
، وليس npm -v
في البرنامج النصي الخاص بك
3.15.1
حسنًا ، لا أعرف ماذا أقول. نص المساعدة الخاص بك لا يعطي الخيار --project
، لذلك هناك خطأ ما في الإصدار
لم أر مثل هذه المشكلة ، لكن يمكنني تخمين الخيارات التالية فقط التي يجب تجربتها في البداية:
node_modules
المحلي الخاص بك إلى PATH
متغير ، لذلك يمكن أن تكون هناك اختلافات)../node_modules/.bin/tslint -v
و ./node_modules/.bin/tslint --project "."
في وحدة التحكم."lint": "tslint --project \".\""
) بدلاً من علامات الاقتباس المفردة في نصوص npm."lint": "tslint --project \"tsconfig.json\""
في نصوص npm.npm i typescript<strong i="27">@2</strong> tslint@next
"lint": "tslint --project \".\""
npm run lint
أزلت التثبيت العالمي الخاص بي. الآن لا يمكنني تشغيل tslint على وحدة التحكم الخاصة بي. لقد قمت بتثبيته محليًا والإصدار بداخله هو "_id": "[email protected]",
.
إذا حاولت تشغيل tslint -v
على وحدة التحكم الخاصة بي ، فإنه يفشل. هذا جيد ، أتوقع هذا لأنني لم أقوم بتثبيته عالميًا.
إذا قمت بتعيين برنامج نصي npm مثل "lint":"npm -v"
أحصل على:
me @ me-ubu-N55SL : ~ / path / sticky-notes $ npm تشغيل lint
[email protected] نسالة / مسار / ملاحظات لاصقة
tslint -v
3.15.1
أعتقد أن التثبيت العالمي فقط هو الذي يسمح لي بتشغيل tslint. تم تثبيتها كوحدة نمطية npm ، ولن يمكن الوصول إليها إلا باستخدام طلب / استيراد.
هام: تشغيل tslint عالميًا يعمل بشكل جيد ، عند تثبيته محليًا وتشغيله كبرنامج نصي npm أحصل على هذا الخطأ
@ bertolo1988 هل يعمل كما هو متوقع الآن؟
إذا كانت الإجابة بنعم - سعيد لحل مشكلتك.
تضمين التغريدة أنا "عزل" المشكلة بشكل أفضل قليلاً. لا تزال هناك مشكلة. تحقق من تعليقي السابق.
@ bertolo1988 إذا فهمت بشكل صحيح - لقد تمكنت من تثبيت 3.15.1 على المشروع (والتي كانت الحالة الجذرية لمشكلة --project
flag).
لقد راجعت الارتباط مع إخراج السجل من تعليقك السابق وكل شيء يعمل كما هو متوقع.
باختصار - هذا مجرد رد فعل تفصيلي NPM على كود الخروج عندما تكون هناك أخطاء في الوبر.
لمزيد من التفاصيل والخيارات تحقق من هذا الموضوع https://github.com/palantir/tslint/issues/1704
ملاحظة: للتأكد من أنك تقوم بتشغيل نفس إصدار الحزمة مثل أدوات البناء و CI - أنا شخصياً أفضل استخدام البرامج النصية npm أو استخدام حزم من عمليات التثبيت المحلية مثل ./node_modules/.bin/tslint --project "."
في حالتك
لقد أكدت للتو أنه في حالة عدم وجود أخطاء في النسالة ، فإنه ينهي التنفيذ على ما يرام.
أعتقد أنه يجب عليك وضع تحذير كبير في الملف التمهيدي للريبو لهذا لأن معظم الناس على الأرجح سيشغلون tslint بنص npm ويخلطون مع الأخطاء ، مثلي تمامًا.
شكرا جزيلا لمساعدتكم. ؛)
أمضيت للتو نصف ساعة في محاربة هذه القضية. يجب عليك بالفعل إضافة التحذير في مكان ما حول حالة الاستخدام هذه ، لأنه من المعتاد الآن استدعاء مثل هذه البرامج النصية باستخدام npm run ...
.
واجهت هذه المشكلة واضطررت إلى البحث في هذا الأمر ونشرها للأجيال القادمة. أنا شخصياً لم يعجبني فشل البرنامج النصي npm
عند فشل الفحص ، لذلك قمت بإجراء هذا التعديل:
"lint:be": "./node_modules/.bin/tslint --project 'server' -t stylish || echo",
كما هو مكتوب ، لن يفشل هذا أبدًا. استخدم بحذر. أنا شخصياً لم أستطع تحمل رسائل خطأ NPM الضخمة.
بدلاً من ذلك ، يؤدي استخدام yarn
بدلاً من npm
أيضًا إلى "إصلاح" هذه المشكلة.
"lint": "yarn run lint:be",
"lint:be": "./node_modules/.bin/tslint --project 'server' -t stylish",
🤖 بيب بوب! 👉 تم إهمال TSLint 👈 ويجب عليك التبديل إلى print-eslint ! 🤖
🔒 تم إقفال هذه المشكلة لمنع المزيد من المناقشات غير الضرورية. شكرا لك! 👋
التعليق الأكثر فائدة
لقد أكدت للتو أنه في حالة عدم وجود أخطاء في النسالة ، فإنه ينهي التنفيذ على ما يرام.
أعتقد أنه يجب عليك وضع تحذير كبير في الملف التمهيدي للريبو لهذا لأن معظم الناس على الأرجح سيشغلون tslint بنص npm ويخلطون مع الأخطاء ، مثلي تمامًا.
شكرا جزيلا لمساعدتكم. ؛)