在Ubuntu上进行bundle install时出现问题

3

我的情况如下:

我在Ubuntu 10.04上以root用户身份安装了rvm。作为root用户,我使用rvm在位置“/rvm/gems/ruby1.9.2-p0/”上安装了ruby 1.9.2和rails 3.0.1。然后我以我的用户名登录Ubuntu,并尝试在“/home/myself/www/myapp”中创建一个rails应用程序。当我执行“bundle install”时,出现以下错误:

'Permission Denied' - home/myself/www/myapp/Gemfile.lock (Errno: EAccess),来自/usr/local/rvm/gems/ruby1.9.2-p0/gems/bundler-1.0.7/lib/bundler/definition.rb

我也无法执行sudo bundle install。

此外,当我以root身份重新登录并尝试从那里执行bundle install时...我会得到以下错误:

bash: bundle: command not found.

我非常迷茫。我该怎么做才能使它正常工作???


我会将这个作为评论发布,因为它不是一个直接的答案。这通常就是为什么rvm不会以root身份安装的原因。如果你愿意的话,可以尝试在你的用户账户下重新安装rvm。这样你可能会有更好的运气。 - Mike Yockey
5个回答

2

也许您应该检查Rails应用程序文件夹的权限,审查所有者和组,因为我曾经遇到过同样的问题,并通过以下方式解决:

chown -R USER railsapp_folder

祝你好运!


我已经对这个主题进行了大量的研究,这是唯一对我有效的答案。所以,谢谢你。 - BananaNeil

1

当您以root身份登录时,是否使用以下命令激活了rvm:

rvm use 1.9.2

编辑:

作为 root 登录怎么样?

rvm use 1.9.2
cd /home/myself/www/myapp
bundle install

我一直在用户帐户下安装rvm,这样我就不必担心sudo命令和权限问题,所以我现在没有更好的想法了... - kelso

0

您需要确保已经添加了以下内容:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

将代码按照这里的说明添加到您的~/.bashrc中(参见“安装后”)。
如果您正确执行了操作,type rvm | head -1应该返回rvm is a function

0

我强烈建议您重新开始并在自己的帐户下安装RVM。这个tutorial非常完美。


0

rvmsudo 在当前环境下以 sudo 的身份运行,并从调用它的路径中运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接