尝试使用rbenv和Homebrew在mac上设置rails。
目前在尝试'gem install rails'时收到以下消息:
错误:执行gem时...(Gem :: FilePermissionError) 您没有/Library/Ruby/Gems/2.0.0目录的写权限。 username-mbp:projects username $ gem install rails
任何想法??
答案 0 :(得分:2)
如果您使用的是rbenv,则不使用sudo来安装gems。 rbenv非常有用地将您的gem安装在您的主目录下,允许您为每个已安装的Ruby版本使用不同的gem。当你改变Ruby的版本时,你会非常感激。
要查看当前版本的Ruby,请使用rbenv local
。对我来说这打印:
2.2.2
要查看您的系统上rbenv知道的所有Ruby版本:
rbenv versions
rbenv将版本说明符存储在名为.ruby-version
的文件中。这允许您为不同的项目使用不同版本的Ruby,每个版本都有自己的一组宝石。
当您尝试安装rails并获取Gem :: FilePermissionError时,这意味着rbenv未处于活动状态,或者您故意安装到“系统”Ruby中。这个本身没有任何问题,但你没有利用rbenv。
我建议使用rbenv local
再次安装Rails,以确保将gems添加到正确的路径。
gem env gemdir
产生类似的东西:
/Users/username/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
有关详细信息,请参阅https://github.com/sstephenson/rbenv#installation。
答案 1 :(得分:0)
答案 2 :(得分:0)
这可能意味着您在某些时候使用了sudo
,这意味着您运行的命令允许您(作为允许的用户以超级用户或其他用户身份执行命令)请参阅此处:{{3 }}。
您能否粘贴用于安装rbenv,ruby,gem,brew等的命令?另请粘贴brew doctor
的输出以查看是否为Homebrew正确配置了环境。另外,如果安装了rbenv,请粘贴OSX版本和rbenv versions
。
在OSX上在rails上安装ruby的步骤是:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`` (as seen here: http://brew.sh/)
。运行brew doctor
和brew update
以查看是否一切正常。 brew install rbenv ruby-build
(这也将安装ruby-build - http://linux.about.com/od/commands/l/blcmdl8_sudo.htm)。您也可以使用此命令brew install rbenv ruby-build rbenv-gem-rehash
。然后echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
(启用垫片和自动完成)。您也可以运行它:echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
。关闭终端并再次打开。安装首选版本的ruby(如果需要):rbenv install 2.0.0-p353
。 gem install bundler
。 gem install sqlite3
gem install rails
。 因此,您遇到的错误是由于权限(您可以在此处了解它们:https://github.com/sstephenson/ruby-build#readme-)。很多人建议使用sudo
或chown
(http://www.tutorialspoint.com/unix/unix-file-permission.htm)解决问题。我不推荐这样做,因为它与系统配置混淆。你最好跑:
rbenv install 2.1.2
rbenv global 2.1.2
gem update --system
当我像一年前一样运行此错误时,我所做的就是卸载所有内容并重新开始...但是,可能会花费太长时间。
这些链接可能对您有所帮助: http://www.cyberciti.biz/faq/how-to-use-chmod-and-chown-command/,ruby for mac,ruby rbenv,rbenv githube,rubies and gems