2

我正在尝试将 rails 应用程序部署到我的 Ubuntu 服务器。我已经安装了rvm,现在我正在尝试使用bundler它来部署我的应用程序。

但是我得到了这个:

/usr/local/rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir': Permission denied - /myroot/repos/myapp/.bundle (Errno::EACCES)

首先,什么用户正在执行整个rvm命令?我的意思是我的路径中有rakebundle,但我不确切知道哪个用户正在执行它们。

作为第一个意图,我尝试更改文件/myapp夹内所有文件的权限。给他们root:rvm,但没有运气。

现在,如果我尝试将 bundle 命令作为sudo(或者实际上是任何 ruby​​ 命令)运行,我会收到类似于以下错误的错误:

/usr/local/rvm/gems/ruby-1.9.3-p374@global/bin/ruby_noexec_wrapper

因此,稍微解释一下包装器是什么以及为什么找不到 ruby​​ 将有助于我理解这种错误。

4

1 回答 1

0

建议不要使用sudoforrvmruby任何 RubyGems 安装命令,因为sudo默认情况下会丢失用于配置 RVM / Ruby / RubyGems 的环境变量。

如果你真的需要使用sudo- 继续使用rvmsudo- 但我需要警告你它会提升暴露系统的权限,这是一个安全风险。

于 2013-02-18T16:15:18.877 回答