npm support for Capistrano 3.x
Add this line to your application's Gemfile:
gem 'capistrano', '~> 3.1.0'
gem 'capistrano-npm'
And then execute:
$ bundle
Or install it yourself as:
$ gem install capistrano-npm
Require in Capfile
to use the default task:
require 'capistrano/npm'
The task will run before deploy:updated
as part of Capistrano's default deploy,
or can be run in isolation with cap production npm:install
Configurable options:
set :npm_target_path, -> { release_path.join('subdir') } # default not set
set :npm_flags, '--production --silent --no-progress' # default
set :npm_roles, :all # default
set :npm_env_variables, {} # default
set :npm_method, 'install' # default
As of version 5.7.0 of npm, a new install method (ci
) was introduced which utilises
the package-lock.json
file. Change npm_method
to ci
in order to use make
use of the improved installation method.
npm allows for normal dependencies
and devDependencies
. By default this gem uses '--production --silent --no-progress'
as the install flags which will only install dependencies
and skip devDependencies
. If you want your devDependencies
installed as well, then remove --production
.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request