Facebook、JavaScriptの新パッケージマネージャ「Yarn」をオープンソースで公開。npmのリプレースで高速かつセキュアに。パッケージの依存問題も解決

2016年10月12日

FacebookはJavaScriptの新しいパッケージマネージャ「Yarn」をオープンソースとして公開したと発表しました

Yarn: A new package manager for JavaScript | Engineering Blog | Facebook Code | Facebook

Yarn is a new package manager that replaces the existing workflow for the npm client or other package managers while remaining compatible with the npm registry. It has the same feature set as existing workflows while operating faster, more securely, and more reliably.

Yarnは新しいパッケージマネージャであり、npmレジストリと互換性を保ちつつ、既存のワークフローでのnpmクライアントやそのほかのパッケージマネージャを置き換えるものです。既存のワークフローにおいて同じ機能を備えつつ、より迅速に運用でき、よりセキュアで信頼性の高いものです。
(「Yarn: A new package manager for JavaScript | Engineering Blog | Facebook Code | Facebook」から)

JavaScriptのパッケージマネージャとしてはnpmが一般的ですが、Facebook社内での大規模な開発環境やインターネットとは切り離されたセキュアな環境では性能やセキュリティなどの面で課題があったとのこと。課題を解決するために既存のパッケージマネージャの改善に取り組んだものの満足のいく解決ができなかったため、新しくYarnを開発したと説明しています。開発にはGoogleなど他社のエンジニアも参加しています。

Yarnでは、npmで生じていたモジュールの依存性に関する問題も解決し、どのマシンでも一意なものになるとしています。

Yarn resolves these issues around versioning and non-determinism by using lockfiles and an install algorithm that is deterministic and reliable. These lockfiles lock the installed dependencies to a specific version, and ensure that every install results in the exact same file structure in node_modules across all machines.

Yarnはバージョニングや一意に決まらないといった問題を、ロックファイルと決定論的かつ信頼性の高いインストールアルゴリズムによって解決しました。このロックファイルはインストールするものの依存性を特定のバージョンをにロックし、すべてのマシンにおいてインストール結果が毎回同一のファイル構造になることを確実にします。

Facebook社内ではすでにYarnを本番環境で利用し、開発のスピードアップに貢献しているとのことです。

あわせて読みたい

JavaScript Web技術 開発ツール Facebook




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本