rails new <app-name>需要在./vendor/bundle中安装gems的密码

时间:2017-04-23 10:13:08

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

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

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

  bundle install --path vendor/bundle

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

Password:

1 个答案:

答案 0 :(得分:0)

如果它说你没有私人权利,那么你只需要用sudo运行它

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

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

我会指导你在这里安装rvm,这是出于个人喜好,但你也可以安装rvenb,结果相同。

在此之前,您必须完全删除此时安装的ruby版本以及所有宝石

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

或添加到gemfile中的ruby版本和rvm将为您选择是否每次你将CD添加到应用程序的路径时将其添加到您的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

希望这有助于你清楚。