質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

1379閲覧

yarnはなにか?

Paalon

総合スコア232

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

1クリップ

投稿2018/11/10 02:12

あるプロジェクトでyarnが使われているのですが、役割がよく分かりません。npmについては、JavaScriptのパッケージマネージャーだと認識していて、package.jsonに依存関係とかコマンドを書いておいて、他人に渡しても環境が簡単に作れるようにするものだと思っています。yarnは一体なんのために使われているのでしょうか?特に、自動生成されるyarn.lockの立ち位置がよく分かりません。package.jsonに依存関係を記述しているのに、なぜ更にyarn.lockなるものが必要になるのですか?

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

package.jsonに依存関係を記述しているのに、なぜ更にyarn.lockなるものが必要になるのですか?

package.jsonだけでは、再現性は完璧ではありません。

  • パッケージのバージョンを範囲指定で書けるので、厳密なバージョンが決まりません。
  • あるパッケージから依存する別なパッケージについては、バージョン指定が残りません。

ということで、全く変わらない環境を再現しようとすれば、実際にインストールした厳密なバージョンを記録することが別に必要となります。

投稿2018/11/10 06:52

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Paalon

2018/11/10 07:36

package.jsonを見てyarn.lockが生成されるのに、yarn.lockによってバージョンが固定される原理が分かりません。
maisumakun

2018/11/10 07:40 編集

yarn.lockには「依存関係まで含めてインストールされたすべてのパッケージ」の「厳密なバージョン」が記録されます。package.jsonより詳しい情報です。
guest

0

なにを確認したのかわからんから、とりあえず基礎なやつ。
yarn.lock

投稿2018/11/10 03:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Paalon

2018/11/10 03:15

これは読んだのですが、あまり私の疑問が解消しなかったので質問しました。 「これは Bundler や Cargo などの他のパッケージマネージャーにおける lockfiles に相当するものです。npm の npm-shrinkwrap.json と似ていますが、インストールの情報が不足なく記録されているため、再現性のある結果を得ることができます。」 BundlerもCargoもnpm-schrinkwrap.jsonもよく知らないのでこの部分に関してはいまいちピンときません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問