में स्क्रिप्ट ऑब्जेक्ट पर "यार्न रन" चलाने में समस्या मुझे जावास्क्रिप्ट के लिए फेसबुक के पैकेज मैनेजर yarn
द्वारा प्रदत्त run
कमांड का उपयोग करने में समस्या हो रही है।पैकेज.जेसन
वर्तमान में मेरी package.json
फ़ाइल में मेरे पास scripts
ऑब्जेक्ट के लिए निम्न है।
"scripts": {
"lint": "./node_modules/.bin/eslint --ignore-pattern dist ."
}
जब मैं निम्न आदेश चला, यह npm run lint
अपेक्षा के अनुरूप काम करता है। हालांकि, जब मैं yarn
से yarn run lint
के साथ स्क्रिप्ट चलाता हूं तो मुझे निम्न त्रुटि प्राप्त होती है।
Petesta :: λ -> ~/Git/yarn yarn run lint
yarn run v0.15.1
$ "./node_modules/.bin/eslint --ignore-pattern dist ."
sh: ./node_modules/.bin/eslint --ignore-pattern dist .: No such file or directory
error Command failed with exit code 127.
info Visit http://yarnpkg.com/en/docs/cli/run for documentation about this command.
./node_modules/.bin
निर्देशिका मेरी $PATH
पर है और मैं नोटिस कि अगर आप date
या pwd
की तरह एक निष्पादन योग्य है तो yarn run some_script_on_date
अपेक्षा के अनुरूप काम करेंगे किया था।
इसे काम करने के लिए एक तरीका है एक अलग खोल फ़ाइल बनाने के लिए जिसमें आप निष्पादित करने का प्रयास कर रहे हैं। आइए इसे ./scripts/lint.sh
पर कॉल करें।
#!/bin/bash
./node_modules/.bin/eslint --ignore-pattern dist .
और फिर अपने scripts
वस्तु में फ़ाइल chmod +x ./scripts/lint.sh
अब पर इस आदेश को चलाने के निम्न पंक्ति जोड़ें।
"new_lint": "./scripts/lint.sh"
और अब yarn run new_lint
अपेक्षित तरीके से चलना होगा।
क्या मुझे कुछ याद आ रहा है या यह है कि yarn
में कॉलिंग स्क्रिप्ट कैसे की जानी चाहिए? मैं npm
के साथ कमांड चलाने के लिए चाहूंगा।
मैं 'eslint' साथ यह कोशिश की और इसे उस तरह से काम नहीं किया। आदेश नहीं मिला है। वह 'एनपीएम रन' के साथ काम करेगा लेकिन 'यार्न रन' के साथ नहीं। – Petesta
सचमुच दूसरे दिन, लॉल, पैकेज को 'यार्नपक्ग' कहा जाता था और हाल ही में इसे 'यार्न' के लिए हटा दिया गया था। इस बहिष्कार से पहले 'yarnpkg रन कमांड' अपेक्षित के रूप में काम किया। अब नए पैकेज के साथ यह काम नहीं करता है। – Petesta
आह, मैंने गलत समझा। बस रिलीज के लिए इंतजार करना है। – Petesta