web-dev-qa-db-ja.com

gruntjsがパッケージをインストールする

私はgruntを使用してgruntjavascriptプロジェクトを構築しており、次のようなpackage.jsonファイルがあります。

{
   ... name, author, etc here ...

   "dependencies": {
      "grunt-html":"0.2.1"
   }

 }

npm installを実行してgrunt-htmlをインストールできますが、これは問題なく機能します。しかし、新しい依存関係を追加するときは、チームのすべての開発者がnpm installを再度実行することを知っている必要があります。まだインストールされていないパッケージを自動的にインストールする方法はありますか?最新の状態に保つために、常にnpm installを実行する必要がありますか?

16
Jeff Storey

はいnpm installはIMOの最も簡単な方法です。他のnpmコマンドに全員が慣れることで、部門の管理も簡単になります。といった:

  • npm lsは、現在インストールされているモジュールを一覧表示します。
  • または、--saveフラグ、つまりnpm install grunt-html --saveをインストールして、パッケージとバージョンをpackage.jsonに挿入します。
  • npm Pruneは、package.jsonに含まれていないモジュールを削除します。

依存関係を管理する他の方法は、リポジトリ内のnode_modulesフォルダーをコミットして、他の開発者がnpm installを実行する必要がないようにすることです。または、より複雑なプロジェクトの場合は、npm shrinkwrapを使用して依存関係を特定のバージョンにロックダウンすることを検討してください: npmshrinkwrapdocs

26

Grunt-install-dependencies( https://github.com/ahutchings/grunt-install-dependencies )は試していませんが、これでニーズが満たされる可能性があります。コマンドinstall-dependenciesを、カスタム定義されたgrunttast内の最初のタスクとして追加するだけです。

grunt.registerTask( 'build'、['install-dependencies'、 'useminPrepare'、...]);

1