を触ってみる。
まず
// npmだとこうなるのが npm init // yarnを使うとこうなる yarn init
package.jsonを作成する際に聞かれるnameとかは yarn init
でも同じく聞かれるが、ちょっと表示の仕方が違ったりするので試してみてほしい。
// npmだとこうなるのが npm install webpack // yarnだとこうなる yarn add webpack
このとき、npmだとpackage.jsonだけが作成されるが、yarnだとyarn.lockというものが作られる。
中身は以下。
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 abbrev@1: version "1.0.9" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" acorn@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" (...略...) wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" dependencies: camelcase "^1.0.2" cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0"
webpack一個入れただけでこんだけ入るんかよ…と若干引いてたんだが、まぁinstallした後に表示されるtreeの内容がもうちょっと詳細に書かれる感じなので、まぁこんなものかとも思う。
これがrubyのbundlerやphpのcomposerでいうところのlockファイルに相当する。
入れるライブラリのバージョンを指定することもできて
// npmだと npm install [<@scope>/]<pkg>@<version> // yarnだと yarn add [package]@[version]
基本的には
にyarnコマンドの使い方が載ってるので見てほしい。
今日以降の記事でも都度自分が使ったコマンドのうち、使い方を覚えたいなと思うものについては記載していくつもりではある。
使い勝手的には、あんまりnpmと変わらなそう。
とりあえず今日はここまで。