Lorsque j'exécute capuchon déployé: Mise à jour code> i Obtenir l'erreur ci-dessous, indiquant que
Bundle code> est introuvable. Lorsque j'exécute
echo $ chemin code> à partir de
Cap shell code> Le trajet
/var/lib/gems/1.9.1/bin code> chemin contenant le paquet est manquant, Cependant, ce chemin est dans les deux
/ etc / profil code> et
~ / .bstrucc code>. Quelqu'un sache comment résoudre ce problème?
4 Réponses :
Avez-vous installé manuellement le code> Bundler code> GEM sur la boîte distante? Vous ne pouvez pas utiliser la commande Bundle code> ou installer des paquets jusqu'à ce que vous fassiez. P>
Utilisez-vous de RVM?
Danois Quelques solutions possibles: P>
Place P>
before "deploy:cold", "deploy:install_bundler" task :install_bundler, :roles => :app do run "type -P bundle &>/dev/null || { gem install bundler --no-rdoc --no-ri; }" end
OK, j'ai récemment eu une certaine expérience avec cela. On dirait qu'il y a quelques façons que ce problème puisse être résolu. Premièrement, vous pouvez déterminer si l'exécution à distance (via Capistrano) est ce qui est gâché contre l'hôte lui-même. On dirait que vous avez fait cela avec le Capistrano Remote Shell:
set :default_environment, { 'PATH' => "/usr/local/bin:/bin:/usr/bin:/bin:/<ruby-dir>/bin", 'GEM_HOME' => '<ruby-dir>/lib/ruby/gems/1.8', 'GEM_PATH' => '<ruby-dir>lib/ruby/gems/1.8', 'BUNDLE_PATH' => '<ruby-dir>/lib/ruby/gems/1.8/gems' } AMMENDED: It isn't so 'hackish' if you consider the following: - The environment-specific deploy scripts (deploy/foo.rb) can override the default in deploy.rb - PermitUserEnvironment hides the configuration deep in the .ssh directory of the deploy user; :default_environment at least exposes it in the checked-in sources.
C'était utile. Dans mon cas, j'avais un problème similaire où le Bundler a été trouvé, mais le râteau n'était pas, même lors de l'exécution de `Bundle Exec Rake '. J'ai fait une brève modification à l'environnement qui ressemblait à ceci: SET: Default_Environment, {'Path' => "/ Opt / RUBY-EE / BIN: $ PATH"}
J'ai essayé ces techniques et j'ai encore les mêmes erreurs. toute autre option?
Il peut être intéressant de noter que Ubuntu met maintenant une sortie anticipée dans le script .bstrucc de manière à ne pas charger votre environnement si vous êtes en train d'ajouter des variables de chemin à la fin. Vous voudrez peut-être essayer d'ajouter des variables d'environnement au début du fichier.
AVOIDE Un tel problème, vous devez disposer des versions les plus récentes de RVM (actuellement 1.13.5) installées dans les deux endroits: localement et sur le serveur distant.
Suivant, vérifiez si votre déploiement est P> Cette ligne n'est plus nécessaire: p> $:.unshift(File.expand_path('./lib', ENV['rvm_path']))
N'oubliez pas d'ajouter 'GEM "RVM-Capistrano"' à votre gemfile
Je viens de recevoir "la tâche déployé: le froid" n'existe pas "lorsque j'utilise code> nécessite" RVM / Capistrano "
. Cependant, code> nécessite "Capistrano" `semble fonctionner pour moi.