Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Protocol Buffers - Google's data interchange format

License

NotificationsYou must be signed in to change notification settings

protocolbuffers/protobuf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenSSF Scorecard

Copyright 2023 Google LLC

Overview

Protocol Buffers (a.k.a., protobuf) are Google's language-neutral,platform-neutral, extensible mechanism for serializing structured data. Youcan learn more about it inprotobuf's documentation.

This README file contains protobuf installation instructions. To installprotobuf, you need to install the protocol compiler (used to compile .protofiles) and the protobuf runtime for your chosen programming language.

Working With Protobuf Source Code

Most users will find working fromsupported releases to bethe easiest path.

If you choose to work from the head revision of the main branch your build willoccasionally be broken by source-incompatible changes and insufficiently-tested(and therefore broken) behavior.

If you are using C++ or otherwise need to build protobuf from source as a partof your project, you should pin to a release commit on a release branch.

This is because even release branches can experience some instability in betweenrelease commits.

Bazel with Bzlmod

Protobuf supportsBzlmod with Bazel 7 +.Users should specify a dependency on protobuf in their MODULE.bazel file asfollows.

bazel_dep(name = "protobuf", version = <VERSION>)

Users can optionally override the repo name, such as for compatibility withWORKSPACE.

bazel_dep(name = "protobuf", version = <VERSION>, repo_name = "com_google_protobuf")

Bazel with WORKSPACE

Users can also add the following to their legacyWORKSPACE file.

Note that with the release of 30.x there are a few more load statements toproperly set up rules_java and rules_python.

http_archive(    name = "com_google_protobuf",    strip_prefix = "protobuf-VERSION",    sha256 = ...,    url = ...,)load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")protobuf_deps()load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")rules_java_dependencies()load("@rules_java//java:repositories.bzl", "rules_java_toolchains")rules_java_toolchains()load("@rules_python//python:repositories.bzl", "py_repositories")py_repositories()

Protobuf Compiler Installation

The protobuf compiler is written in C++. If you are using C++, please followtheC++ Installation Instructions to install protoc alongwith the C++ runtime.

For non-C++ users, the simplest way to install the protocol compiler is todownload a pre-built binary from ourGitHub release page.

In the downloads section of each release, you can find pre-built binaries inzip packages:protoc-$VERSION-$PLATFORM.zip. It contains the protoc binaryas well as a set of standard.proto files distributed along with protobuf.

If you are looking for an old version that is not available in the releasepage, check out theMaven repository.

These pre-built binaries are only provided for released versions. If you wantto use the github main version at HEAD, or you need to modify protobuf code,or you are using C++, it's recommended to build your own protoc binary fromsource.

If you would like to build protoc binary from source, see theC++ Installation Instructions.

Protobuf Runtime Installation

Protobuf supports several different programming languages. For each programminglanguage, you can find instructions in the corresponding source directory abouthow to install protobuf runtime for that specific language:

LanguageSource
C++ (include C++ runtime and protoc)src
Javajava
Pythonpython
Objective-Cobjectivec
C#csharp
Rubyruby
Goprotocolbuffers/protobuf-go
PHPphp
Dartdart-lang/protobuf
JavaScriptprotocolbuffers/protobuf-javascript

Quick Start

The best way to learn how to use protobuf is to follow thetutorials in ourdeveloper guide.

If you want to learn from code examples, take a look at the examples in theexamples directory.

Documentation

The complete documentation is available at theProtocol Buffers doc site.

Support Policy

Read about ourversion support policyto stay current on support timeframes for the language libraries.

Developer Community

To be alerted to upcoming changes in Protocol Buffers and connect with protobuf developers and users,join the Google Group.


[8]ページ先頭

©2009-2025 Movatter.jp