【问题标题】:An error occurred while installing net-ssh (3.0.2), and Bundler cannot continue安装 net-ssh (3.0.2) 时出错,Bundler 无法继续
【发布时间】:2016-04-30 23:28:14
【问题描述】:

我想使用 capistrano 将我的 rails 应用程序部署到 AWS,我完全按照教程进行操作。

教程如下:http://www.sitepoint.com/deploy-your-rails-app-to-aws/

但是,我的域总是显示 502 Bad Gateway nginx/1.4.6 (Ubuntu)。

事实上,每次我运行“cap production deploy”时,我都会收到这个错误:

SSHKit::Runner::ExecuteError: Exception while executing as deploy@(my ip add): bundle exit status: 5
bundle stdout: An error occurred while installing net-ssh (3.0.2), and Bundler cannot continue.
Make sure that `gem install net-ssh -v '3.0.2'` succeeds before bundling.
bundle stderr: Nothing written

SSHKit::Command::Failed: bundle exit status: 5
bundle stdout: An error occurred while installing net-ssh (3.0.2), and Bundler cannot continue.
Make sure that `gem install net-ssh -v '3.0.2'` succeeds before bundling.
bundle stderr: Nothing written

Tasks: TOP => deploy:updated => bundler:install
(See full trace by running task with --trace)
The deploy has failed with an error: Exception while executing as deploy@52.25.50.168: bundle exit status: 5
bundle stdout: An error occurred while installing net-ssh (3.0.2), and Bundler cannot continue.
Make sure that `gem install net-ssh -v '3.0.2'` succeeds before bundling.
bundle stderr: Nothing written

我确定 net-ssh gem 安装已经成功(在本地和服务器端)所以我不知道是什么导致了这里的问题,希望这里有人可以帮助我。

提前致谢!

更新

我试过的:sudo apt-get install ruby​​-net-ssh

我的 ubuntu 服务器 gem 列表:

部署用户的:

*** LOCAL GEMS ***

bigdecimal (1.2.6)
bundler (1.8.4)
bundler-unload (1.0.2)
executable-hooks (1.3.2)
gem-wrappers (1.2.7)
io-console (0.4.3)
jruby-pageant (1.1.1)
json (1.8.1)
minitest (5.4.3)
net-ssh (3.0.2)
pg (0.17.1)
power_assert (0.2.2)
psych (2.0.8)
rake (10.4.2)
rdoc (4.2.0)
rubygems-bundler (1.4.4)
rvm (1.11.3.9)
test-unit (3.0.8)

默认服务器:

*** LOCAL GEMS ***

bigdecimal (1.2.4)
io-console (0.4.2)
jruby-pageant (1.1.1)
json (1.8.1)
minitest (4.7.5)
net-ssh (3.0.2)
psych (2.0.5)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.5.0)

我仍然在运行 cap 生产部署时遇到与上述完全相同的错误。

谁来救我:(

【问题讨论】:

    标签: ruby-on-rails ubuntu amazon-web-services nginx capistrano


    【解决方案1】:

    今天早上遇到了同样的问题,不确定我们的解决方案是否相同,但这是我解决的方法。

    我正在运行 Mint 17 (Ubuntu 14.04),它在安装 Ruby 包时获得了 Ruby 1.9.3。

    首先我遇到了错误net-ssh requires Ruby version >= 2.0,所以我从另一个来源安装了 Ruby 2.2,然后安装了 bundler。

    尽管我手动安装了 net-ssh 3.0.2,但仍然遇到与您相同的错误。

    原来 bundler 仍然引用了一些导致问题的 Ruby 1.9.1 库路径。

    为了修复它,我运行了以下命令:

    sudo apt-get remove ruby ruby1.9.1 bundler
    sudo apt-get autoremove # to clean up removed Ruby packages
    sudo gem install bundler
    

    然后我能够运行bundler install 并且没有出现任何错误。

    希望对您有所帮助。

    【讨论】:

    • 对我不起作用,我已经放弃并决定使用弹性豆茎,但谢谢!有空我一定会再试一次的。
    猜你喜欢
    • 2016-03-14
    • 2022-01-20
    • 2017-02-09
    • 2018-09-08
    • 2020-01-16
    • 2021-06-25
    • 2014-01-12
    • 2018-04-05
    • 2020-05-07
    相关资源
    最近更新 更多