我部署到一個Debian 6服務器,使用Apache,客運,Ruby1.9.1爲什麼我在部署Rails應用程序時失敗:「sh -c'cd/var/www/releases ...'」?
當我運行 「帽部署」 或 「帽部署:遷移」 我得到這個錯誤:
[out :: ip.address] Could not find multi_json-1.0.3 in any of the sources
** [out :: ip.address] Run `bundle install` to install missing gems.
** [out :: ip.address]
command finished in 1037ms
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/releases/20111208004427; true"
servers: ["ip.address"]
[ip.address] executing command
command finished in 489ms
failed: "sh -c 'cd /var/www/releases/20111208004427 && /usr/bin/rake1.9.1 RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'" on ip.address
請注意0和failed sh -c ...
部分。
我已經試過這個export PATH=/var/lib/gems/1.9.1/bin:${PATH}
並嘗試了許多其他可能的解決方案,但似乎沒有任何工作。
順便說一下,NO rvm。
仍然出現此錯誤:[out :: ip.address] sh:bundle:not found – leonel
您確實需要登錄到您的服務器並確保在部署之前安裝了bundler :.如果您使用的是全系統ruby(而不是rvm),那麼登錄到您的服務器並運行「sudo gem install bundler」,那麼您的部署應該可以工作。 –
已經嘗試過,然後在命令行中運行bundle並找不到命令。當我這樣做時'export PATH =/var/lib/gems/1.9.1/bin:$ {PATH}'捆綁包可以工作。所以我將它添加到我部署並部署的用戶的.bashrc文件中,但仍然收到'找不到包的錯誤'。部署用戶只擁有其主文件和www文件夾的所有權。 – leonel