Assuming release_path is a Pathname object, you want to have:
release_path.join('vendor/strangelove/cms')
if vendor is a subdirectory of release_path
If you use '/vendor' (note the initial '/'), you'll get back an absolute path:
-Rob
On 2015-Mar-9, at 13:11 , Chiel Kunkels <[email protected]> wrote:
> I've tried amending my code to the following:
>
> task :npm_install do
> on roles(:app) do
> within release_path + '/vendor/strangelove/cms' do
> puts capture(:pwd)
> end
> end
> end
>
> but that fails with the following message:
>
> DEBUG [b97cf958] Running /usr/bin/env if test ! -d /vendor/strangelove/cms;
> then echo "Directory does not exist '/vendor/strangelove/cms'" 1>&2; false;
> fi as deploy@<ip>
> DEBUG [b97cf958] Command: if test ! -d /vendor/strangelove/cms; then echo
> "Directory does not exist '/vendor/strangelove/cms'" 1>&2; false; fi
> DEBUG [b97cf958] Directory does not exist '/vendor/strangelove/cms'
> (Backtrace restricted to imported tasks)
> cap aborted!
> SSHKit::Runner::ExecuteError: Exception while executing as deploy@<ip>: if
> test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi exit status: 1
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stdout: Nothing written
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stderr: Directory does not exist
> '/vendor/strangelove/cms'
>
> SSHKit::Command::Failed: if test ! -d /vendor/strangelove/cms; then echo
> "Directory does not exist '/vendor/strangelove/cms'" 1>&2; false; fi exit
> status: 1
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stdout: Nothing written
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stderr: Directory does not exist
> '/vendor/strangelove/cms'
>
> Tasks: TOP => odyssey:npm_install
> (See full trace by running task with --trace)
> The deploy has failed with an error: Exception while executing as
> deploy@<ip>: if test ! -d /vendor/strangelove/cms; then echo "Directory does
> not exist '/vendor/strangelove/cms'" 1>&2; false; fi exit status: 1
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stdout: Nothing written
> if test ! -d /vendor/strangelove/cms; then echo "Directory does not exist
> '/vendor/strangelove/cms'" 1>&2; false; fi stderr: Directory does not exist
> '/vendor/strangelove/cms'
>
> Which, in a way, is entirely accurate since that directory does not exist.
> For some reason the release_path is not being prepended.
>
> If I change the code to
>
> task :npm_install do
> on roles(:app) do
> puts release_path
> puts release_path + '/vendor/strangelove/cms'
> within release_path.join('/vendor/strangelove/cms') do
> puts capture(:pwd)
> end
> end
> end
>
> It does output the release path properly with the first puts statement, but
> the second one only has the `vendor/strangelove/cms` bit.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Capistrano" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/capistrano/6be7077a-cf19-4d7e-9942-349683236615%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"Capistrano" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web, visit
https://groups.google.com/d/msgid/capistrano/722573E7-D172-42C7-A8D0-892ED28616C6%40gmail.com.
For more options, visit https://groups.google.com/d/optout.