Установка Gem на Vanilla Ubuntu не удается - EACCESS
Я пытаюсь установить гем Middleman на полностью общую установку Ubuntu Trusty (i386). Вот мой консольный ввод / вывод:
vagrant@vagrant-ubuntu-trusty-32:~/rj$ which ruby
/usr/bin/ruby
vagrant@vagrant-ubuntu-trusty-32:~/rj$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [i686-linux]
vagrant@vagrant-ubuntu-trusty-32:~/rj$ gem install middleman
Fetching: bundler-1.7.7.gem (100%)
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /var/lib/gems
Как вы можете видеть, я использую Vagrant VM после получения похожих ошибок в моей хост-системе. (Другой ответ на чей-то предыдущий вопрос направил меня к Вагранту и Докеру, каждый из которых дал результат, подобный приведенным выше.) Интересно, что даже используя sudo gem install middleman
дает мне проблемы.
(Я думал о том, чтобы вставить этот вывод здесь, и я все еще мог бы, если кто-то спросит, но, если честно, я бы предпочел не устанавливать внешние гемы как root, если это возможно, предпочитая сосредоточиться на ошибках выше. Весь смысл посредника, после все, это создать определенный набор плоских выходов, ограничивая необходимость в привилегиях и настройках.)
Кто-нибудь сталкивался с такими ошибками раньше?
======================
РЕДАКТИРОВАТЬ: По запросу, вот вывод, когда я использую sudo gem install middleman
:
Fetching: bundler-1.7.7.gem (100%)
Fetching: rack-1.5.2.gem (100%)
Fetching: tilt-1.4.1.gem (100%)
Fetching: erubis-2.7.0.gem (100%)
Fetching: uber-0.0.11.gem (100%)
Fetching: hooks-0.4.0.gem (100%)
Fetching: rack-test-0.6.2.gem (100%)
Fetching: thor-0.19.1.gem (100%)
Fetching: i18n-0.6.11.gem (100%)
Fetching: json-1.8.1.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing middleman:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
1 ответ
Похоже, вам нужно запустить этот гем sudo
так как он использует ограниченную системную папку.
ОШИБКА: при выполнении gem ... (Errno::EACCES) Отказано в доступе - /var/lib/gems
Попробуйте сделать это:
sudo gem install middleman