YAML কনফিগারেশন ফাইলটি পার্স করার সময় ত্রুটি: yaml-cpp


10

আমি মঙ্গোডিবি শেল সংস্করণ সহ নিম্নলিখিত কমান্ডটি (উইন্ডোজ মেশিন) ব্যবহার করছি: 3.0.7:

mongod --config "G:\NodeApps\mongod.cfg" --install

Mongod.cfg ফাইলের বিষয়বস্তু নীচে দেওয়া হল:

systemLog:
    destination: file
    path:"G:\NodeApps\data\log"
storage:
    dbPath:"G:\NodeApps\data"

নীচের ত্রুটি পাওয়া:

Error parsing YAML config file: yaml-cpp: error at line 4, column 8: illegal map value
try 'mongod --help' for more information

অনুরূপ প্রশ্নগুলির এর সমাধান নেই।

আমি ইতিমধ্যে যা চেষ্টা করেছি:

  1. আমি স্পেস ব্যবহার করছি (ট্যাব নয়)
  2. ASCII ফর্ম্যাটে ফাইলটি সংরক্ষণ করে চেষ্টা করা হয়নি, কারণ মংগড কনফিগারেশন ফাইলটি নন-এসিএসআইআই ফর্ম্যাটে সংরক্ষণ করা উচিত নয় বলে একটি পোস্টে উল্লেখ করা হয়েছিল। এমনকি ইউটিএফ -8 এও নয়।

অনুগ্রহ করে এটির দ্বারা আমাকে সাহায্য করুন.

উত্তর:


10

ত্রুটি বার্তাগুলি নির্দিষ্ট লাইন এবং কলামটি ইঙ্গিত করে যেখানে YAML পার্সারটি আপনার কনফিগারেশন ফাইলটিতে সমস্যা রয়েছে, তবে আপনি যদি ফর্ম্যাটটির সাথে পরিচিত না হন তবে যা প্রত্যাশা করা হয় তা কার্যকর করা কঠিন।

আপনার কনফিগারটিকে বৈধ YAML করতে দুটি সেট পরিবর্তনের প্রয়োজন :

  1. একটি "স্থান" মধ্যে যোগ করুন systemLog.pathএবং storage.dbPathকী ও তাদের মান

    YAML কী / মান জোড়ার মধ্যে একটি স্থানের প্রয়োজন, তাই প্রতিবেদন করে: "4 নং লাইনে ত্রুটি, কলাম 8: অবৈধ মানচিত্রের মান"।

  2. আপনার পথের মানগুলি থেকে ডাবল উদ্ধৃতিগুলি সরান

    ওয়াইএএমএল উদ্ধৃত স্ট্রিংগুলির মধ্যে ব্যাকস্ল্যাশগুলি একটি পালানোর চরিত্রটি পরিচয় করিয়ে দেওয়ার অর্থ ব্যাখ্যা করে, সুতরাং প্রতিবেদন করে: "লাইনের 3, ত্রুটি 16: ত্রুটি অজানা" unknown বিকল্প হিসাবে, আপনি উদ্ধৃত পথটি ছেড়ে দিতে পারেন তবে হয় ব্যাকস্ল্যাশগুলি ( \\) এড়িয়ে যেতে পারেন অথবা ফরোয়ার্ড স্ল্যাশ ব্যবহার করতে পারেন।

নিম্নলিখিত কনফিগারেশনের কাজ করা উচিত (ধরে "G:\NodeApps\data\"নিলে সঠিক ডিরেক্টরি এবং ফাইলের অনুমতি রয়েছে):

systemLog:
    destination: file
    path: G:\NodeApps\data\log
storage:
    dbPath: G:\NodeApps\data

ওয়াইএএমএল সিনট্যাক্সের জন্য বেশ কয়েকটি অনলাইন পরীক্ষক রয়েছে যা সমস্যার সমাধানে কার্যকর হতে পারে (যেমন: ওয়াইএমএল লিন্ট )।


2

yaml ট্যাব গ্রহণ করবেন না, আপনাকে অবশ্যই ট্যাবের পরিবর্তে স্থান ব্যবহার করতে হবে

systemLog:
    destination: file
    path: c:\data\log\mongod.log
storage:
    dbPath: c:\data\db
security:
     authorization: enabled
net:
    bindIp: 127.0.0.1
    port: 27017

উপরে আমার মংডোড.এফজি ফাইল রয়েছে,
উদাহরণস্বরূপ সুরক্ষা: এবং অনুমোদনের মধ্যে অবশ্যই স্থান থাকতে হবে, ট্যাব অবৈধ আপনাকে শিরোনামের উপরের ত্রুটিটি দেবে।

আপনার কনফিগার ফাইলটি সর্বদা যাচাই করা উচিত

ইয়ামিল বৈধ করুন


0
  1. "নোড অ্যাপস, ডেটা, লগ ইন জি" ড্রাইভের অবশ্যই উপস্থিত থাকতে হবে।
  2. "পথ: জি:" এর মধ্যে অবশ্যই স্থান বিদ্যমান থাকতে হবে
  3. সমস্ত লাইন এক স্থান দুরত্ব হতে হবে।

    systemLog:

    গন্তব্য: ফাইল

    পথ: জি: / NodeApps / ডেটা / লগ

    সঞ্চয়স্থান:

    ডিবিপাথ: জি: / নোড অ্যাপস / ডেটা


-4

উইন্ডোতে থাকাকালীন "\" ডাবল স্ল্যাশ ("\") দিয়ে প্রতিস্থাপন করা উচিত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.