yarn install -h
は、-g
(グローバル)オプションがDEPRECATED
であることを提案します。大量のパッケージ(package.json
/yarn.lock
ファイル)をグローバルにインストールすることを示すにはどうすればよいですか?
私が見たオプション:
yarn global [command]
にはls
やadd
などがありますが、install
はありません。 add
は、私が正しく理解していれば、特定のパッケージ名でのみ機能します。既にyarn.lock
ファイルの準備ができているので、コマンドラインで繰り返したくありません。yarn global add
各パッケージを1つずつ。これで、パッケージのリストは宣言的ではなく必須になります。特に、これらのパッケージの1つから実行可能ファイルを1つ使用したいと思います。
すべきではない。 Yarnはグローバルにインストールすることを推奨していません。また、必要な場合、または役立つ場合もほとんどありません。
ドキュメント に記載されているとおり:
大部分のパッケージでは、暗黙的であるためグローバルな依存関係を持つことは悪い習慣と見なされます。すべての依存関係をローカルに追加して、それらが明示的になり、プロジェクトを使用する他のユーザーが同じ依存関係のセットを取得できるようにすることをお勧めします。
BinがあるCLIツールを使用しようとしている場合、。/ node_modules/.binディレクトリーでこれらにアクセスできます。
really与えられたアドバイスを聞きたくない場合は、
yarn global add <package>
ただし、依存関係の膨大なリストをグローバルに簡単にインストールすることを期待しないでください。設計によってを行うのは困難です。
代わりに、Yarnでの目的のフローは次のとおりです。
./node_modules/.bin
からバイナリを呼び出します入力するだけ
yarn global add nodejs
興味のある方のために、yarnを介してインストールされたグローバルアプリケーションをインストールおよび管理する方法をご紹介します。
最初に、アプリケーションを含むディレクトリを作成します。たとえば、~/.yarn-global
:
mkdir ~/.yarn-global
cd ~/.yarn-global
次に、ここからアプリケーションをインストールします。
yarn add yourapp
最後に、プロファイルファイル、つまり.bashrc
または.bash_profile
を開き、binディレクトリへのパスを追加します。
export PATH="$PATH:$HOME/.yarn-global/node_modules/.bin"
これ以降、このディレクトリにインストールしたアプリケーションは、シェルのどこからでも利用できるようになります。
これが完了すると、この.yarn-globalディレクトリでのみ動作するyarn-global
ユーティリティスクリプトを作成することもできます。例えば:
Sudo vim /usr/bin/yarn-global
Sudo chmod 755 /usr/bin/yarn-global
スクリプトの内容は次のとおりです。
#!/bin/bash
cd "$HOME/.yarn-global"
yarn $1 "$2"
これで、yarn-global add someapp
、yarn-global upgrade someapp
などを実行できます。