নাস এ গিটোলাইট ইনস্টল করা - ফ্যাটাল: ত্রুটি রয়েছে তবে লগিং ব্যর্থ হয়েছে


2

আমি এই নির্দেশাবলী অনুসরণ করে আমার সিনোলজি ডিস্কস্টেশনে গিটোলাইট ইনস্টল করার চেষ্টা করছি ।

অধীনে DiskStation এবং চালান সেটআপ উপর Gitolite ইনস্টল করুন , আমি Gitolite কমান্ড ইনস্টল সঞ্চালন করুন:

DiskStation> /volume1/homes/git/gitolite/install -ln /bin

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

FATAL: have errors but logging failed!

2012-05-31.00:10:22 no GL_LOGFILE env var
2012-05-31.00:10:22 die could not symlink /volume1/home/git/gitolite/src/gitolite to /bin<<newline>> at /volume1/home/git/gitolite/install line 71<<newline>>

আমি এই সমস্ত খুব নতুন। এর অর্থ কী এবং কীভাবে আমি এই ত্রুটিটি সমাধান করতে পারি তা কি কেউ জানেন?

উত্তর:


1

2 ইস্যু:

নতুন গিটোলাইটভি 3 (জি 3) 'লগস' ডিরেক্টরিটির অভাবের সাথে পরিচালনা করে না, যা ডিফল্টরূপে উপস্থিত থাকতে হবে $HOME/.gitoliteআরসি.এম.
দেখুন :

$rc{LOG_TEMPLATE} = "$ENV{HOME}/.gitolite/logs/gitolite-%y-%m.log";
$rc{GL_LOGFILE} = $ENV{GL_LOGFILE} ||= gen_lfn( $rc{LOG_TEMPLATE} );

Common.pm:

sub gl_log {
    # the log filename and the timestamp come from the environment. If we get
    # called even before they are set, we have no choice but to dump to STDERR
    # (and probably call "logger").

    logger_plus_stderr( "$ts no GL_LOGFILE env var", "$ts $msg" ) if not $ENV{GL_LOGFILE};
    open my $lfh, ">>", $ENV{GL_LOGFILE} or logger_plus_stderr( "open log failed: $!", $msg );

একটি লগ ডিরেক্টরি তৈরি করুন: mkdir -p $HOME/.gitolite/logsএবং ইনস্টলেশন পুনরায় চালু করুনসাইটআর্ম
হিসাবে (যিনি, আমি কেবল তার খালি প্রোফাইল থেকে ধরে নিতে পারি , তিনি গিটোলাইটের স্রষ্টা / রক্ষণাবেক্ষণকারী সীতারাম চামার্তি), এটির প্রয়োজন হবে না। এবং নীচে ওপি-র উত্তর থেকে , যাইহোক এটির প্রয়োজন হয়নি

সাইটআর্ম যোগ করেছে:

LOGFILEত্রুটি বার্তা বিভ্রান্তিকর; ইনস্টলেশন ডিরেক্টরিটি না থাকলে এটি ঘটে $PATH

সর্বশেষ কমিট উপর Common.pm(জুন, 16 2012) প্রকৃতপক্ষে অর্ডার করার জন্য ত্রুটির বার্তা প্রতিস্থাপিত হয়েছে না আর রেফারেন্স রহস্যময় GL_LOGFILE:

logger_plus_stderr( "errors found before logging could be setup", "$msg" ) if not $ENV{GL_LOGFILE};

নোট করুন যে কোনও মানহীন পথে যদি আপনার নিজের পার্ল থাকে তবে এই ইনস্টল স্ক্রিপ্টগুলির কোনওটিই কাজ করবে না, কারণ তাদের /usr/bin/perlপরিবর্তে শেবাং রেফারেন্স /usr/bin/env perl...


দ্বিতীয় সংখ্যা:

could not symlink /volume1/home/git/gitolite/src/gitolite to /bin

সিলেমিং করার অধিকার আপনার আছে কিনা তা পরীক্ষা করুন /bin। আপনি কি মূল? নিচে যেভাবে উল্লেখ করা আছে

DiskStation> /volume1/homes/git/gitolite/install -ln

(ছাড়াই /bin) সমস্ত কিছুকে $HOME(নো / বিন লেখার অ্যাক্সেস ইস্যুতে) রাখবে না


আমি সাধারণত স্থানীয় ইনস্টলেশন পছন্দ করি

 $HOME/gitolite/github/install -to $HOME/gitolite/bin

(সুতরাং ' -to' এর পরিবর্তে ' ' এর পরিবর্তে, -lnসিস্টেম অ্যাকাউন্টের পরিবর্তে আমার অ্যাকাউন্টে একটি পরম পাথ):

  • github স্থানীয় ক্লোনটির নাম https://github.com/sitaramc/gitolite
  • $HOME/gitolite/binআমার ডিরেক্টরিতে আমি যুক্ত করেছি $PATH

ডকুমেন্টেশনের মধ্যে না থাকা এমন কোনও বিষয় অন্তর্ভুক্ত করার জন্য দয়া করে সমাধানগুলি প্রস্তাব করবেন না। mkdir -p ...এটি হ'ল একটি সদর্থক তবে ভুল পরামর্শ। যদি আপনি মনে করেন এটির প্রয়োজনীয়তা রয়েছে তবে আমাকে জানতে দিন যে আমার ডকুমেন্টেশনে কিছু অনুপস্থিত এবং আমরা এটি নিয়ে আলোচনা করতে পারি। লগফিল ত্রুটি বার্তাটি বিভ্রান্ত করছে; ইনস্টলেশন ডিরেক্টরিটি $ PATH- এ না থাকলে এটি ঘটে। দয়া করে এ ./install -hসম্পর্কে বিভিন্ন বিকল্পের জন্য বিশদ চালনা করুন।

@ সীতারাম ঠিক আছে, উত্তর সম্পাদিত হয়েছে। The mkdirG3 সঙ্গে আমার বিষয় অন্তত: আপনার সব স্ক্রিপ্ট উল্লেখকে একটি #!/usr/bin/perlযা আমার অ-মানক Perl ইনস্টলেশন সঙ্গে সঙ্গতিপূর্ণ নয়। এ #!/usr/bin/env perlআরও সুবিধাজনক হবে।
ভনসি

0

নিম্নলিখিত কমান্ডটি একটি টাইপো ছিল:

DiskStation> /volume1/homes/git/gitolite/install -ln /bin

পোস্টের প্রথম দিকে আপনি গিট ব্যবহারকারীর জন্য একটি OME হোম / বিন ডিরেক্টরি সেটআপ করেছেন। একই কমান্ডটি চালান তবে নির্দিষ্ট / বিন ডিরেক্টরি আর্গুমেন্টটি বন্ধ রাখুন এবং গিটোলাইটটি ডিফল্ট $ হোম / বিনে উপস্থিত হবে যা উপস্থিত এবং গিট ব্যবহারকারী দ্বারা রচনীয়।

পরিবর্তে এটি চালান:

DiskStation> /volume1/homes/git/gitolite/install -ln

0

আমি কমান্ড চালিয়েছি gitolite/install -ln /usr/bin/

আমার জন্য, gitব্যবহারকারীকে সিলেমিং করার প্রয়োজনীয় অনুমতি না থাকার কারণে সিলিমিংক ত্রুটি হয়েছিল /usr/bin। আমি সহজেই ফাইলগুলিতে গ্রুপে gitব্যবহারকারীকে যুক্ত করেছি এবং এটি একটি কবজির মতো কাজ করেছে।wheel/etc/group

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