Я сделал проект рельсов с помощью
rails new test_bootstrap.
удалось.
переместился в проект dir и добавил драгоценные камни
gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"
и запустите
bundle install
после этого, у меня есть эта ошибка.
Installing libv8 (3.16.14.3)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
creating Makefile
지정된 경로를 찾을 수 없습니다. 지정된 경로를 찾을 수
없습니다. 지정된 경로를 찾을 수 없습니다.
c:/RailsInstaller/Ruby1.9.3/lib/ruby/ge
ms/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:58:in `setup_python!': libv8 requires
python 2 to be installed in order to build, but it is currently not available (RuntimeErr
or) from c:/RailsInstaller/Ruby1.9.
3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/builder.rb:42:in `block in build_lib
v8/builder.rb:42:in `block in build_libv8!'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `chdir'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/builder.rb:40:in `build_libv8!'
from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/lib
v8/location.rb:24:in `install!'
from extconf.rb:7:in `<main>'
Gem files will remain installed in c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/l
ibv8-3.16.14.3 for inspection.
Results logged to c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ex
t/libv8/gem_make.out
An error occurred while installing libv8 (3.16.14.3), and Bundler cannot
continue.
Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
извините за некоторых корейцев. Он говорит: "Он не может найти выбранный путь или что-то в этом роде.
и я попытался запустить эту команду
gem install libv8 -v '3.16.14.3'
выдает ту же ошибку.
попробуйте следующее:
gem install libv8 -v '3.16.14.3' -- --with-system-v8
Примечание.. Поскольку libv8 является интерфейсом для двигателя V8, используемого therubyracer, вам может понадобиться использовать libv8, даже если у вас уже установлен V8. Если вы хотите использовать свою собственную установку V8, а не встроить ее для вас используйте параметр
--with-system-v8
.
Более подробную информацию вы можете найти в документации libv8 в github
Я столкнулся с аналогичной проблемой, в которой после установки libv8 возникает ошибка при установке therubyracer. Вот мое решение:
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
$ bundle install
- см. ошибку установки therubyracer -
$ gem uninstall libv8
$ brew install v8
$ gem install therubyracer
$ bundle install
- см. установку ошибки libv8 -
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
С homebrew это помогает мне решить эту ошибку.
brew tap homebrew/versions
brew install v8-315
gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315
bundle install
Видел на проблемах Rubyracer Github.
Я попробовал вышеописанную команду, которая выглядит очень хорошо для установки отдельного жемчужина, но для пользователей пакетов - вы должны использовать конфигурацию bundle
Используйте
bundle config build.libv8 --with-system-v8
и
bundle config build.therubyracer --with-system-v8
чтобы настроить подключатель на использование параметров, которые будут использоваться при установке конкретного драгоценного камня
bundle config build.therubyracer --with-v8-dir=/usr/local/opt/v8-315
Я не думаю, что вам нужно therubyracer
gem на окнах. Это время работы javascript, использующее движок V8. Поэтому он пытается установить libv8
.
Вы можете безопасно удалить драгоценный камень из своего Gemfile.
Rails рада использовать, какую когда-либо рабочую среду он может найти. execjs
, nodejs
и т.д. - все возможные варианты.
Microsoft уже внедряет JScript-среду выполнения для javascript в Windows, а Rails использует ее. Подробнее об этом
Другим обходным решением для устранения проблемы является разделение их в Gemfile
group :production do
gem 'libv8', '~> 3.11.8.3'
gem 'therubyracer', :platform => :ruby
end
И затем запустите команду bundle: установить пакет - без производства
Я также не смог установить этот камень вместо использования
--with-system-v8
попробуйте сделать пакетное обновление, которое отлично работает для меня
Моя проблема не была связана с therubyracer
вообще как раз libv8
gem, и поскольку @rishav-bhardwaj указал --with-system-v8
не сделал трюк, вместо этого мне пришлось выполнить exec
bundle update
затем
bundle install
и, наконец,
Bundle complete!
Ошибка исчезла!
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
An error occurred while installing libv8 (3.16.14.7), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.16.14.7'` succeeds before bundling.
Я чувствую, что это имеет меньше общего с libv8 и больше связано с therubyracer.
я получил ту же ошибку при запуске установки пакета в приложении rails. если вы столкнулись с этим подобным образом, попробуйте установить драгоценный камень за пределами комплекта следующим образом:
gem install therubyracer
затем запустите установку пакета. Я надеюсь, что это сработает и для вас.
Устранена проблема libv8 3.16.14.7
с помощью команды ниже:
gem install libv8 -v '3.16.14.7' -- --with-system-v8
И затем bundle install
успешно завершен.
Это работает для меня. Поместите это в свой Gemfile
gem 'libv8', '~ > 3.16.14.7'
bundle install --no-deployment
а затем bundle install
сработала для меня
Попробуйте
gem "therubyracer", "~ > 0.10.2" в Gemfile
И он установит зависимый gem libv8 (3.3.10.4), и проблема с внутренним расширением build gem будет решена.
Devkit
github.com/oneclick/rubyinstaller/wiki/Development-Kit