ম্যাকে গুগল প্রোটোকল বাফার ইনস্টল করা


101

টার্মিনাল কমান্ড লাইনটি ব্যবহার করে আমি ম্যাকের উপরে Google প্রোটোকল বাফারগুলির (প্রোটোবুফ-২.৪.১) পুরানো সংস্করণটি ইনস্টল করতে চাই। আমি চেষ্টা করেছি brew install protobuf, তবে সর্বশেষতম সংস্করণ 2.5.0 ইনস্টল করা হয়েছে। টার্মিনাল থেকে পুরানো সংস্করণ ইনস্টল করা সম্ভব?

ধন্যবাদ


2
আপনি কেন একটি পুরানো সংস্করণ চান? এগুলি পিছনের দিকে সামঞ্জস্যপূর্ণ, যতক্ষণ আপনি ফাইল .pb.hএবং .pb.ccফাইলগুলি পুনরায় জেনারেট করেন ।
কেন্টন ভারদা

আমি ভেবেছিলাম প্রকল্পটি 2.4.1 দিয়ে তৈরি হওয়ায় আমি পুরানো সংস্করণটি আরও ভালভাবে ব্যবহার করব। তবে আপনি যেমন বলেছিলেন আমি দুটি ফাইল পুনরায় জেনারেট করেছি এবং এটি ঠিক আছে works ধন্যবাদ।
informatiker

উত্তর:


146

ম্যাকের উত্স থেকে প্রোটোফুফ ২.৪.১ তৈরি করতে কিছু সমস্যা রয়েছে। একটি প্যাচ রয়েছে যা প্রয়োগ করতে হবে। এই সমস্ত হোমব্রু প্রোটোবুফ 241 সূত্রের মধ্যে রয়েছে, তাই আমি এটি ব্যবহার করার পরামর্শ দেব।

প্রোটোকল বাফার সংস্করণ ইনস্টল করতে 2.4.1 টার্মিনালে নিম্নলিখিত টাইপ করুন:

brew tap homebrew/versions
brew install protobuf241

আপনার যদি ইতিমধ্যে উত্স থেকে ইনস্টল করার চেষ্টা করা একটি প্রোটোকল বাফার সংস্করণ থাকে তবে আপনি হোমব্রু সংস্করণে উত্স কোডটি ওভাররাইট করতে একটি টার্মিনালে নিম্নলিখিতটি লিখতে পারেন:

brew link --force --overwrite protobuf241

আপনার এখন টাইপ করে সঠিক সংস্করণ ইনস্টল করা আছে তা পরীক্ষা করুন:

protoc --version

এটি প্রদর্শিত হবে 2.4.1


2
আরে আমি এটি চেষ্টা করেছি, যাই হোক না কেন
প্রোটোক

সংস্করণ 2.4.1 "/usr/local/Cellar/protobuf241/2.4.1" এ ইনস্টল করা আছে, আপনার কেবল "../2.4.1/protoc" এর একটি সিমিলিংক তৈরি করা উচিত এবং এটি "/ usr / স্থানীয় / বিনে স্থাপন করা উচিত "। "প্রোটোক - রূপান্তর" এর চেয়ে চেষ্টা করুন এবং এটি ঠিক কীভাবে করা উচিত তা কাজ করা উচিত।
গিউরি মজেরসিক

4
সেই
ট্যাপটি

22
আর কাজ হচ্ছে না। আমি পেয়েছিWarning: homebrew/versions was deprecated. This tap is now empty as all its formulae were migrated.
শিহ-মিন লি

1
এটি
কোরটিতে

70

এটি ব্রিউয়ের মাধ্যমে নয়, তবে শেষ ফলাফলটি একই।

  1. Https://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz থেকে প্রোটোবুফ-২.৪.১ ডাউনলোড করুন
  2. Tar.gz ফাইলটি বের করুন।
  3. $ সিডি ~ / ডাউনলোডগুলি / প্রোটোবুফ-২.৪.১
  4. $। / কনফিগার
  5. $ করতে
  6. check চেক করা
  7. do sudo মেক ইনস্টল
  8. $ কোন প্রোটোক
  9. $ প্রোটোক - রূপান্তর

4-7 পদক্ষেপগুলি প্রোটোবুফ টারবাল থেকে README.txt ফাইল থেকে।


2
আমি ব্রিউ পদ্ধতির চেষ্টা করেছিলাম, তবে প্রোটোবুফ (এখন ২. version.০) এর সর্বশেষ সংস্করণের জন্য এটি উপরের পদক্ষেপের সঠিক তালিকা ব্যবহার করে উত্সগুলি থেকে সহজেই সংকলন করে। আপনার মূল উত্সের প্রয়োজন হিসাবে স্ট্যান্ডার্ড প্রোটো সংজ্ঞা (উদাহরণস্বরূপ, বর্ণনাকারী.প্রোটোটো বাড়িয়ে ফিল্ড বিকল্পগুলি যোগ করার চেষ্টা করার সময়) এটি আরও কার্যকর হয়ে ওঠে অন্যথায় ইনস্টলেশনের হোম-ব্রিউ সংস্করণ (কুরুচিপূর্ণ) এর সেলার পাথটি উল্লেখ করতে হবে? ।
নেকরো

2
মেক কমান্ড চালানোর সময় আমি ত্রুটিগুলি সহ শেষ করেছি: 3 টি ত্রুটি উত্পন্ন হয়েছে। করুন [2]: *** [বার্তা পাঠানো] ত্রুটি 1 করুন [1]: *** [সমস্ত পুনরাবৃত্তি] ত্রুটি 1 করুন: *** [সমস্ত] ত্রুটি 2
আনন্দরাজজা শ্রীনিবাসন

এটি আমার জন্য কাজ করে এমন সমাধান। তবে মেক করার সময় ত্রুটিগুলির মুখোমুখি হয়ে জিয়াওকি চুর উত্তর দেখুন।
আমুধন

4-7 পদক্ষেপে রয়েছে /protobuf/src/README.md, আমি ইচ্ছা করি README.mdএটি /protobufডিরেক্টরিতে ছিল
কেভিন ঝাও

4
এটি আমার পক্ষে একমাত্র পরিবর্তনটি হ'ল আপনাকে github.com/google/protobuf/relayss
r00tt

34

এটি একটি নতুন বছর এবং protobufহোমব্রিউয়ের সংস্করণ এবং কাটিয়া প্রান্ত রিলিজের মধ্যে একটি নতুন মিল নেই । ফেব্রুয়ারী 2016 পর্যন্ত, brew install protobufআপনাকে সংস্করণটি 2.6.1 দেবে।

পরিবর্তে আপনি যদি 3.0 বিটা রিলিজ চান তবে আপনি এটি দিয়ে এটি ইনস্টল করতে পারেন:

brew install --devel protobuf

17

আপনি যদি এখানে ম্যাকে প্রোটোকল বাফার ইনস্টল করতে চান তা সন্ধান করে, এটি নীচের কমান্ডটি চালিয়ে হোমব্রিউ ব্যবহার করে করা যেতে পারে can

brew install protobuf

এটি প্রোটোবুফের সর্বশেষতম সংস্করণ ইনস্টল করে। আমার জন্য, লেখার সময়, এটি v3.7.1 ইনস্টল করেছে

আপনি যদি কোনও পুরানো সংস্করণ ইনস্টল করতে চান তবে দয়া করে প্যাকেজ পৃষ্ঠা থেকে উপলব্ধ প্রোটোবুফ প্যাকেজটি দেখুন - হোমব্রিউ এবং প্যাকেজের সেই নির্দিষ্ট সংস্করণটি ইনস্টল করুন।

এই প্যাকেজের মধ্যে প্রাচীনতম প্রোটোবুফ সংস্করণটি v3.6.1.3


1
তবে ওপি বিশেষত পুরানো সংস্করণ ইনস্টল করার জন্য বলেছে।
হিমাংশু তানওয়ার

13

Https://github.com/paulirish/homebrew-versions-1 থেকে । আমার জন্য কাজ কর!

brew install https://raw.githubusercontent.com/paulirish/homebrew-versions-1/master/protobuf241.rb

আপনি আমার দিন বাঁচিয়েছেন। অনেক ধন্যবাদ!
দীপঙ্কর সরকার

দ্রষ্টব্য, অজানা উত্স থেকে ইনস্টল করার সময় সূত্রগুলির মাধ্যমে স্ক্যান করার পরামর্শ সর্বদা দেওয়া হয়। আমি এটা করেছি, এটি নিরাপদ ছিল।
অ্যাগোস্টন হরভাথ

12

কোনও কারণে আমাকে ওএস এক্স এল ক্যাপিটেনে আমার প্রজেক্টে প্রোটোবুফ ২.৪.১ ব্যবহার করতে হবে। তবে হোমব্রিউ তার সূত্র থেকে প্রোটোবুফ 241 সরিয়ে দিয়েছে। আমি @kksensei এর উত্তর ম্যানুয়ালি ইনস্টল করেছি এবং প্রক্রিয়া চলাকালীন কিছু ত্রুটি সমাধান করতে হবে।

মেক প্রক্রিয়া চলাকালীন, আমি নিম্নলিখিতগুলির মতো 3 টি ত্রুটি পেয়েছি:

google/protobuf/message.cc:130:60: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'

  return ParseFromZeroCopyStream(&zero_copy_input) && input->eof();

                                                           ^

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:108:28: note: template is declared here

    class _LIBCPP_TYPE_VIS basic_istream;

                           ^

google/protobuf/message.cc:135:67: error: implicit instantiation of undefined template 'std::__1::basic_istream<char, std::__1::char_traits<char> >'

  return ParsePartialFromZeroCopyStream(&zero_copy_input) && input->eof();

                                                                  ^

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:108:28: note: template is declared here

    class _LIBCPP_TYPE_VIS basic_istream;

                           ^

google/protobuf/message.cc:175:16: error: implicit instantiation of undefined template 'std::__1::basic_ostream<char, std::__1::char_traits<char> >'

  return output->good();

               ^

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:110:28: note: template is declared here

    class _LIBCPP_TYPE_VIS basic_ostream;

                           ^

(দুঃখিত, কোডটিতে '`' থাকা অবস্থায় আমি কীভাবে কোড সংযুক্ত করব তা জানি না)

যদি আপনি একই ত্রুটি পান তবে দয়া করে src / google / protobuf / message.cc সম্পাদনা করুন, #include <istream>ফাইলের শীর্ষে যুক্ত করুন এবং $ makeআবার করুন এবং কোনও ত্রুটি না পাওয়া উচিত। তারপরেই করুন $ sudo make install। ইনস্টল শেষ $protoc --versionহলে সঠিক ফলাফল প্রদর্শন করা উচিত।



6
brew install --devel protobuf

যদি এটি আপনাকে "প্রোটোবুফ-২.6.১ ইতিমধ্যে ইনস্টল করা" বলে: 1. brew uninstall --devel protobuf 2. brew link libtool 3।brew install --devel protobuf


2

এফডাব্লুআইডাব্লু।, ব্রিউয়ের সর্বশেষ সংস্করণটি প্রোটোবুফ ৩.০ এ রয়েছে এবং এতে পুরানো সংস্করণগুলির জন্য কোনও সূত্র অন্তর্ভুক্ত নেই। এটি কিছুটা "অসুবিধেয়"।

প্রোটোবুফ তারের স্তরে সামঞ্জস্যপূর্ণ হতে পারে তবে এটি উত্পন্ন জাভা শ্রেণীর স্তরে একেবারেই সামঞ্জস্যপূর্ণ নয়: আপনি প্রোটোক ২.৪ সহ উত্পন্ন ক্লাস ফাইলগুলি প্রোটোকুফ -২.২ জার ইত্যাদির সাহায্যে ব্যবহার করতে পারবেন না etc. এ কারণেই আপডেট করা হচ্ছে প্রোটোবুফ সংস্করণগুলি হ্যাডোপ স্ট্যাকের এমন একটি সংবেদনশীল বিষয়: এটির জন্য বিভিন্ন প্রকল্পের মধ্যে সর্বদা সমন্বয় প্রয়োজন এবং এটি যথেষ্ট ট্রমাজনিত যে কেউ এটি করতে পছন্দ করে না।


2

প্রোটোকল বাফার ইনস্টল করতে (আজ সংস্করণ v3.7.0 হিসাবে)

  1. এই ওয়েবসাইটে যান
  2. আপনার ওএস অনুসারে জিপ ফাইলটি ডাউনলোড করুন (উদাঃ প্রোটোক ৩..0.০-osx-x86_64.zip)। এটি অন্যান্য ওএসেও প্রযোজ্য।

  3. প্রোটোক -3 / বিন / প্রোটোকের এক্সিকিউটেবলকে আপনার PATH ডিরেক্টরিতে যে কোনও একটিতে সরিয়ে দিন। ম্যাকের মধ্যে আমি এটিকে / usr / স্থানীয় / বিনে রাখার পরামর্শ দিই

এখন আপনার ভাল 💪🏾

(alচ্ছিক) একটি অন্তর্ভুক্ত ফাইল রয়েছে, আপনি যুক্ত করতে পারেন। এটি README.md এর স্নিপেট

If you intend to use the included well known types then don't forget to
copy the contents of the 'include' directory somewhere as well, for example
into '/usr/local/include/'.

Please refer to our official github site for more installation instructions:
https://github.com/protocolbuffers/protobuf

2

গুগলের আরও একটি সরকারী উপায় রয়েছে, যেমন অন্য একজন ব্যবহারকারী উল্লেখ করেছেন।

চেষ্টা করার আগে এটি পুরোপুরি পড়ুন।

পদক্ষেপ এখানে:

টার্মিনাল খুলুন এবং নিম্নলিখিত টাইপ করুন

  1. PROTOC_ZIP=protoc-3.7.1-osx-x86_64.zip
  2. curl -OL https://github.com/google/protobuf/releases/download/v3.7.1/$PROTOC_ZIP
  3. sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc
  4. rm -f $PROTOC_ZIP

আমার জন্য কাজ করেছেন।

পিএস
এটি কেবল অসক্সে 3.7.1 সংস্করণের জন্য। আপনি যদি অন্য কোনও সংস্করণ / প্ল্যাটফর্ম ইনস্টল করতে চান তবে প্রকাশের লিঙ্কটি দেখুন এবং সর্বশেষ সংস্করণটির বিশদটি দেখুন এবং সেই তথ্যগুলি ব্যবহার করুন। উল্লেখ


1
সুন্দর এবং সহজ। ধন্যবাদ! : তদা:
রডরিগো-সিলভির



0

হোমব্রু সংস্করণগুলি সরানো হয়েছে এবং সূত্রগুলি খালি করা হয়েছে। সুতরাং, আমার পরামর্শটি হ'ল নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করে ম্যানুয়ালি এটি ইনস্টল করুন।

আপাতত আপনাকে প্রোটোকল বাফার টুলসেটটি ম্যানুয়ালি তৈরি এবং ইনস্টল করতে হবে।

  1. উত্স কোড ডাউনলোড করুন: https://github.com/google/protobuf/relayss/download/v2.4.1/protobuf-2.4.1.tar.gz

  2. tar xvfz protobuf-2.4.1.tar.gz

  3. cd protobuf-2.4.1

  4. চালান ./configure

  5. Src / google / protobuf / message.cc সম্পাদনা করুন, ফাইলের শীর্ষে # অন্তর্ভুক্ত করুন

  6. makeফোল্ডারের মূল থেকে কমান্ড চালান , প্রোটোবুফ-২.৪.১ /

  7. চালান sudo make install

  8. /usr/local/bin/protoc --versionপ্রোটোবুফ সংকলকের সংস্করণটি পরীক্ষা করতে চালান টার্মিনাল আউটপুটটি হওয়া উচিত:

    Version: libprotoc 2.4.1

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