когда я пробую "sudo установку драгоценного камня rubocop", я добираюсь...
Building native extensions. This could take a while...
ERROR: Error installing rubocop:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.1/ext
/usr/bin/ruby2.3 mkrf_conf.rb
current directory: /var/lib/gems/2.3.0/gems/rainbow-2.2.1/ext
/usr/bin/ruby2.3 -rubygems /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake RUBYARCHDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1 RUBYLIBDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1
/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake (LoadError)
rake failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/rainbow-2.2.1 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/rainbow-2.2.1/gem_make.out
Таким образом, я попробовал много решений, конкретно решения от https://stackoverflow.com/questions/22544754/failed-to-build-gem-native-extension-installing-compass (другой драгоценный камень, та же ошибка)
Я пытался переустановить RVM с "rvm, переустанавливают - запрещать-двоичный-файл 2.2.0", который требовал времени, но не зафиксировал его
затем я попробовал $ "sudo склонный - получают рубин-dev установки", который уступает
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby-dev is already the newest version (1:2.3.0+1).
The following packages were automatically installed and are no longer required:
dkms linux-headers-4.4.0-53 linux-headers-4.4.0-53-generic
linux-image-4.4.0-53-generic linux-image-extra-4.4.0-53-generic
python-appindicator python-gconf python-gi python-glade2
python-gobject python-pexpect python-ptyprocess python-xdg
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 40 not upgraded.
Я также попробовал "обновление драгоценного камня - система", до которой я добираюсь...
Latest version currently installed. Aborting.
Любые предложения будут значительно цениться, поскольку я - общий новичок, и я застреваю.
Когда я ответил на это в 2017, я скептически относился к решению @SeanHammond, потому что драгоценный камень граблей уже, казалось, был установлен. Это, оказывается, было через пакет граблей Debian и их систему rubygems-интеграции. Установка драгоценного камня граблей снова, на г-на Hammond, работала на меня сегодня, когда это переопределило версию Debian, следовательно избежал базовой ошибки. Ну, сначала это сказало:
martind@balance:~$ sudo gem2.1 install --no-ri --no-rdoc rake
Fetching: rake-12.3.1.gem (100%)
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
martind@balance:~$
После того, как я подал заявку восходящая фиксация для сообщения об ошибке, в котором было сказано:
rake's executable "rake" conflicts with an unknown executable
Overwrite the executable? [yN] n
ERROR: Error installing rake:
"rake" from rake conflicts with installed executable from
martind@balance:~$
..., который привел меня успешно выполняться с:
martind@balance:~$ sudo gem2.1 install --no-ri --no-rdoc --format-executable rake
Successfully installed rake-12.3.1
1 gem installed
martind@balance:~$
Это достаточно, чтобы rubygems нашел обновленный двоичный файл:
martind@balance:~$ ruby2.1 -we 'puts(Gem.bin_path("rake", "rake"))'
/var/lib/gems/2.1.0/gems/rake-12.3.1/exe/rake
martind@balance:~$ ls -l /var/lib/gems/2.1.0/gems/rake-12.3.1/exe/rake
-rwxr-xr-x 1 root root 1182 Apr 17 15:03 /var/lib/gems/2.1.0/gems/rake-12.3.1/exe/rake
martind@balance:~$
решение @ShaunJackman работало на меня также. Это могло бы хорошо быть способом, которым Debian должен зафиксировать его, хотя я не оставил бы файлы в каталоге на моей машине, которую Debian мог бы позже хотеть изменить.
А менее болезненное обходное решение было установкой rake=/usr/bin/rake
в среде, от которой я установил драгоценный камень, который я хотел:
martind@balance:~$ rake=/usr/bin/rake sudo gem2.1 install --no-ri --no-rdoc mediawiki_api
Fetching: unf-0.2.0.beta2.gem (100%)
Building native extensions. This could take a while...
Successfully installed unf-0.2.0.beta2
Fetching: mediawiki_api-0.7.1.gem (100%)
Successfully installed mediawiki_api-0.7.1
2 gems installed
martind@balance:~$
..., как теперь отмечено в мой отчет об ошибках Debian . Вашему sudo, возможно, понадобилось бы - сохранять-ENV для прохождения через ту установку.
(В более ранней версии этого ответа, я утверждал, что "эквивалент sudo gem install rainbow
решил его", но оказывается, что моя проблема не была эквивалентна. Моя проблема не была с драгоценным камнем, радугой и rubocop, но на самом деле с gem2.1, mediawiki-шлюз (или его преемник, mediawiki_api) и unf. Причина, что установка зависимости вручную сначала работала на мой случай, состояла в том, что gem2.1 имеет ошибку, посредством чего это предпочитает устанавливать предварительные версии как зависимости. Я подозреваю, из кода, а не прозы, что ошибка этот При выяснении установить сам unf он вместо этого, и справедливо, выбирает версию выпуска, та, которая просто, оказывается, использует путь выполнения кода ExtConfBuilder rubygem, а не его RakeBuilder один. Это не помогло бы исходному плакату с их проблемой радуги, поскольку они не получили предварительную версию. Извините за долгое отклонение, но возможно это поможет кому-то еще сталкивающемуся с подобной проблемой.)
Я смог разрешить, что эта проблема с
sudo mkdir -p /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin
sudo ln -s /usr/bin/rake /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/
Видит эта фиксация на GitHub.
Сделать sudo gem install rake
и затем сделайте sudo gem install rubocop
снова и это должно работать.
Это, кажется, не имеет значения, что у Вас есть правильная версия установленных граблей. Для меня rake --version
сообщаемый 10.5.0
но я все еще получал то же сообщение об ошибке как Вы. Смотря на сообщение об ошибке, это ищет rake
в определенном пути, не просто где угодно на моем PATH
: /usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake (LoadError)
. which rake
отчеты /usr/local/bin/rake
, нет /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake
. И на самом деле, как в сообщении об ошибке говорится, нет никакого файла в /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake
. Это, вероятно, относится rake
быть apt-get install
редактор, а не gem install
редактор. sudo gem install rake
создает тот файл.