街撮りchの中のひとのブログ

npmがわりとゆるふわ過ぎたのでYarnに移行するか検討するためにいろいろやってみた

目次

  1. 1. Facebookが作ったというnpmとの互換パッケージマネージャ
  2. 2. Yarnのインストール
  3. 3. Yarnの初期プロジェクト作成的な
  4. 4. npmとの違い

https://yarnpkg.com/

Facebookが作ったというnpmとの互換パッケージマネージャ

Node.js系のパッケージマネージャーといえばnpmです。いろいろありますがかなり便利なのでずっと使ってました。
ただnpmで管理していたパッケージの機能がローカルでは動くけど、どうも本番で動いてないんじゃない?的なことがあって
どうやらそのパッケージのバージョンの違いで動いてない的なことが起こっているんじゃないか疑惑があってnpmってそういえば、
バージョンとかけっこうゆるふわというか多少のバージョンの違いとか気にしなくていいってところがいいんだけど、それって何かあったときにやば過ぎじゃないの?って気になった。
今まで遭遇しなかっただけでバージョンの違いでこんなやらかしがあるのか。。。
じゃあ対策ないの?どうしようかってことでYarnを検討してます。

このYarnですがnpmにはないyarn.lockというファイルが生成されまして、これがまぁRubyのgemなんかだとGemfile.lockというのと同じか似ている感じだと思ってます。
Gemfile.lockは開発環境と運用環境で同じgemをインストールするために使うらしいんですがそれと同じような仕組みになっているという認識。
実際には導入してませんが今のところいい感じで使えてます。npmよりもさくさく動くってところもいい。

Yarnのインストール

インストールはbrewからやるとまあ簡単ですわな。 これはMacの場合ね。ちなみに会社も家のマシンも最近立て続けにmacOS Sierraにしました。

1
2
brew update
brew install yarn

念のためにバージョンの確認です。インストールうまくいってたらバージョンでます。 これ書いているときは0.19.1ですね。

1
2
yarn --version
0.19.1

Yarnの初期プロジェクト作成的な

で適当にプロジェクトフォルダにうつって

1
yarn init -y

これでnpmでもお世話になっていたpackage.jsonできます。

ちなみに

1
2
npm --version
3.3.12

でnpmでinitしたときにできたpackage.jsonはこれです。

1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "hoge",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

こちらはyarnのinitの場合はこれです。

1
2
3
4
5
6
7
8
{
"name": "01",
"version": "1.0.0",
"main": "index.js",
"repository": {},
"license": "MIT"
}

ちょっとシンプルになってます。

npmとの違い

1
2
npm install jquery --save
yarn add jquery
1
2
npm install autoprefixer --save-dev
yarn add autoprefixer --dev

いつもvブログを読んでいただきありがとうございます。
YouTubeチャンネルの運用を続けていくために機材購入、資料購入などで困っております。
よろしければAmazonの欲しいものリストから応援いただけると助かります。

街撮りchの欲しいものリスト

管理人:タケグチシゲキ

フロントエンドエンジニアとして働く55歳のジジイです。
首都圏を中心に散歩動画を撮影してYouTubeで配信してます。現在は夜の街のネオンや光が作り出す陰影が好きで撮影することが多いです。

YouTbueチャンネル

YouTubeチャンネルもぜひご覧ください。思い出の街や気になる街の風景を楽しんでいただければと思います

X(旧Twiiter)

X(旧Twiiter)でも情報発信しております。よろしければフォローいただけると嬉しいです

記事や動画について知っている情報を教えていただけると幸いです。どんなささいなことでも大丈夫です。

また、仕事依頼、コラボ依頼、著作物の提供などについてのお問い合わせは下記のお問い合わせフォーム、X(旧Twiiter)のDMでお待ちしております

お問い合わせ

ブログ記事やYouTubeチャンネルの動画に関するコメント、お仕事依頼、コラボ依頼、著作物の提供についてなどなどお問い合わせにて随時募集中です。
情報提供などもお待ちしております。

お問い合わせはこちらのGoogleフォームからお願いいたします