Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ';未安装捆绑包';错误_Ruby On Rails_Ubuntu - Fatal编程技术网

Ruby on rails ';未安装捆绑包';错误

Ruby on rails ';未安装捆绑包';错误,ruby-on-rails,ubuntu,Ruby On Rails,Ubuntu,我对德沃普斯不太在行。我创建了一个名为deploy的用户。以前我可以ssh到我的服务器上 苏部署 跑 RAILS\u ENV=生产包exec RAILS c 几天前,我完全忘记了我有一个名为deploy的用户。作为root用户,我使用rvm安装了ruby。RVM已经安装 现在我记得我有一个名为deploy的用户。我跑了,然后跑了 RAILS\u ENV=生产包exec RAILS c 我犯了以下错误 程序“bundle”当前未安装。运行“bundle” 请要求管理员安装软件包“ruby bun

我对德沃普斯不太在行。我创建了一个名为deploy的用户。以前我可以ssh到我的服务器上

苏部署

RAILS\u ENV=生产包exec RAILS c

几天前,我完全忘记了我有一个名为deploy的用户。作为root用户,我使用rvm安装了ruby。RVM已经安装

现在我记得我有一个名为deploy的用户。我跑了,然后跑了

RAILS\u ENV=生产包exec RAILS c

我犯了以下错误

程序“bundle”当前未安装。运行“bundle” 请要求管理员安装软件包“ruby bundler”

在超级管理员环境中安装ruby之前,我可以在部署用户环境中运行bundle

有办法解决这个问题吗


PS:My capistrano部署脚本运行时没有任何问题,即使它是由“deploy”用户部署的

问题是,当您ssh到目录中时,在目录中没有
。ruby版本
文件存在,因此它使用默认的ruby版本(运行
哪个ruby
查看确切的路径),不是
rvm-ruby版本
,因此它找不到安装的gems,比如
bundler

这是一个环境问题。capistrano部署正在工作,因为您已经在deploy.rb中分配了ruby版本

set :rvm_ruby_version, 'ruby-2.2.2@zhitaotao'
因此,它可以找到正确的ruby版本,然后找到该版本的
installed
gems

解决方案是添加一个名为
.ruby version
的文件,将内容设置为类似于
ruby-2.3.1


如果这不起作用,我建议重新安装
ruby
bundler
,并为
deploy
用户运行
bundle install
。我们需要确保在生产目录中,ruby版本与deploy.rb中分配的ruby版本相匹配。

我在“deploy”user env中运行了ruby-v,得到
程序“ruby”当前未安装。要运行“ruby”,请要求管理员安装软件包“ruby”
问题是
ruby
bin现在不在
PATH
中。您需要运行
rvm install ruby-2.3.1
,然后运行
gem install bundler
bundle install
。已经安装了ruby-2.3.1。我是在运行rvm安装时得到的。。。。这越来越难修复了。@Raaz你是用@seaify-freeloper的评论中指出的
rvm
安装的吗?@Dimitry\N,是的。一切正常。可能是因为我在超级管理员环境中使用rvm安装了ruby,而现在部署用户找不到ruby。之前我使用rvm安装了ruby。我甚至在我的开发环境中使用RVM