【问题标题】:rails new <app-name> requires password for gems installation in ./vendor/bundlerails new <app-name> 需要密码才能在 ./vendor/bundle 中安装 gem
【发布时间】:2017-04-23 10:13:07
【问题描述】:

您的用户帐户不允许安装到系统 RubyGems。

您可以取消此安装并运行:

  bundle install --path vendor/bundle

将 gem 安装到 ./vendor/bundle/,或者您可以输入密码 并使用 sudo 将捆绑的 gem 安装到 RubyGems。

Password:

【问题讨论】:

  • 您的用户帐户没有在您的计算机上安装的权限,与 rails 或 rubygems 无关。
  • $ gem install bundler --no-rdoc --no-ri 错误:执行 gem ... (Gem::FilePermissionError) 您没有 /usr/local/ 的写入权限rvm/gems/ruby-2.4.0 目录。
  • 请解决这个问题
  • 没有问题,尝试使用sudo gem install bundler --no-rdoc --no-ri并提供您的用户帐户密码。
  • $ sudo gem install bundler --no-rdoc --no-ri sudo: gem: command not found

标签: ruby-on-rails rubygems ruby-on-rails-5


【解决方案1】:

如果它说你没有权限,那么你只需要使用 sudo 运行它

sudo gem install bundler --no-rdoc --no-ri

但我真的建议安装 rbenv 或 rvm,以便更好地控制 ruby​​ 版本,并且您不需要密码或 sudo 命令来安装 gem。

我会在这里指导你安装 rvm,这是个人喜好,但你也安装 rvenb 会得到相同的结果。

首先,您必须完全删除您此时安装的 ruby​​ 版本和所有 gem

gem uninstall --all # maybe you will need sudo here
sudo apt-get purge ruby

首先安装mpapis公钥

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

然后安装 rvm

\curl -sSL https://get.rvm.io | bash

然后添加到.bashrc

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

添加到 .bash_profile

source ~/.profile

然后你可以安装你想要的 ruby​​ 版本(我在这里使用 2.3.0 作为示例,更改为你之前在应用程序上工作的版本)

rvm install 2.3.0

你已经安装了 ruby​​,如果你不想在本地使用 gems 的文档,我建议运行这个命令

echo 'gem: --no-document' >> ~/.gemrc

然后你可以设置你想要使用的 ruby​​ 版本,你有不同的选项,每次打开终端时手动选择它

rvm use 2.3.0 # or the version that you want to use in that moment

或将 ruby​​ 版本和 rvm 添加到 gemfile 中,每次您制作 cd 到应用程序的路径时,rvm 都会为您选择是否将其添加到 gemfile 中

source 'https://rubygems.org' # this is by default on your gemfile
ruby '2.3.0' # this is the line you need to add, change for the version that you want on he app

当您选择了 ruby​​ 版本时,您必须安装 bundler gem,您只需按您安装的 ruby​​ 版本运行一次

gem install bundle

然后你就可以在你的应用上运行 bundle install 并且会像一个魅力一样工作。

使用 rvm,您可以在机器上安装不同版本的 ruby​​ on rails,正如我所说,您安装的每个版本都需要安装一次 bundler gem。

如果您安装了不同版本的 ruby​​,我建议您添加一个默认值,这样如果您在该会话中没有在终端上设置 ruby​​ 版本,它将默认使用一个,您可以这样做

rvm --default use 2.3.0

希望这可以帮助您清楚。

【讨论】:

  • 我试过了,能否请您在manindragautamofficial@gmail.com发给我完整的 ruby​​ on rails Ubuntu 16.04 安装过程@
  • 已编辑,重试
猜你喜欢
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
相关资源
最近更新 更多