未分類

パッケージ

投稿日:

今日は普段使っているパッケージについて学びました。いつもパッケージ管理ソフトのyarnを使ってインストールやら実行やらを行っているのですが、それが内部でどのような動きをしているのかなんて考えたこともありませんでした。詰まるところyarnも所詮コマンドなので順を追っていけば必ずやっていることがわかるのですが、実行速度が早すぎて理解しづらいだけなのです。コンピュータは電子の動きでオンとオフを表現できてしまうのでそのオンオフで膨大な数の文字列を使った命令でも秒で終わらせてしまう事ができるのです。これについていくことは不可能なので何をしているのかゆっくりでもいいので理解する事が大事だと思います。

yarn

yarnはfacebookが開発したパッケージ管理ソフトです。これはnpmと互換性があり同じように使用できるのですが、npmに対して大きな優位点があります。それはyarnはデフォルトでyarn.lockというパッケージのバージョンを管理するファイルを作成するという点と、プログラムを並列で読み込む事ができるという点です。特に後者の並列で読み込む事ができるという点はパッケージを読み込む速度が早くなるので大きな優位点です。yarn installでpackage.jsonに記載された依存オブジェクトのみを順番にインストールしていきます。

パッケージとは

プロジェクトそのものを指します。多くのプロジェクトはこのパッケージを組み合わせて作られており、その組み合わせるパッケージもまた膨大な数のパッケージを組み合わせて作られています。なので自分が作成している簡単なプロジェクトでも400MBを超える量のコードになっており、4億文字の文字列で作られていることになるのです。

npmとは

yarnと同じパッケージを管理するプログラムです。これを導入することによってパッケージを手動で管理する必要がなくなり、簡単なコマンドを打つだけで導入したパッケージに記述してあるプログラムを実行する事ができます。このパッケージ管理システムのおかげで便利なアプリケーションができているのです。npmにとってのパッケージはpackage.jsonファイルの親ディレクトリに含まれるファイル郡のことを指し、これらのファイルの中でnpmのコマンドを使うことによってパッケージの中のプログラムを実行して違うファイルでそのプログラムを実行して簡単にプログラムを組む事ができるようになります。npmではnpm installコマンドを実行して実行したディレクトリにpackage-lock.jsonがない場合にはpackage.jsonに記述してあるパッケージをダウンロードし、package-lock.jsonファイルがある場合にはその中に書いてあるパッケージをダウンロードします。プロジェクトを後悔する際にはパッケージをダウンロードした状態でgithubにコードをあげることはなく、そのパッケージのバージョン情報を記述したファイル郡のみをgithub上に上げ、そのアプリケーションを実行する際にnpm installなりyarn installでパッケージをダウンロードするようにします。なぜこのようにするのかというと、そのほうがファイルのサイズが小さくて済むという点と、もしバージョン違いなどでうまく動かなくなってしまった場合にそのバージョンを記述しているファイルのみを変更するだけで済むからです。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

html

htmlはマークアップ言語でウェブページに動画・画像・音声などのデータファイルをリンクで埋め込むことができます。その文字列をブラウザが人間が理解できるように表示してくれるのです。 問題解決 最近は頭の …

no image

京都行きます

友人たちと京都に行ってきます。久しぶりの旅行なのでとても楽しみです。その友人たちは中学の同級生で、いわゆる「地元メン」です。一人は保育園が同じの幼なじみのやつで、ちっこいイケメンくんです。自分はそいつ …

no image

コツコツと

今日も汎用コンポーネントの作成に一日費やしてしまいました。ただ昨日よりも確実に書けるようになっているので地道にいくしかないと思っています。ただコードを書くだけではなく、スラックとかで他の社員の方達がど …

no image

java

今日はお試し研修があったのでそのことを書きます。お試し研修はほぼほったらかしだったので面白くなかったのですが、javaのいい復習になりました。javaの前にIT業界のことを聴いたのでまずそれについて書 …

no image

引越し前夜

今日はとてもいい日でした。最後のバイトでしたし、引越し先での色々な準備も今のところ順調にいっています。おまけに焼肉に食べにいきましたし。ではここらで気分転換に少々書きます。気分はいつもとあまり変わらず …

PREV
typescript
NEXT
初担当