"gem install therubyracer-v '0.10.2 '" na osx mavericks nie instaluje
Próbuję zainstalować therubyracer na mavericks używając "Gem install therubyracer-v '0.10.2'", ale dostaję następujący błąd:
/Users/dennischen/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for main() in -lobjc... yes
creating Makefile
make
compiling rr.cpp
clang: warning: argument unused during compilation: '-rdynamic'
rr.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compiling v8.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_array.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_callbacks.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_context.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_date.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_debug.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_exception.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_exception.cpp:10:16: warning: unused variable 'stack' [-Wunused-variable]
static void* stack[20];
^
1 warning generated.
compiling v8_external.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_external.cpp:10:9: warning: unused variable 'references' [-Wunused-variable]
VALUE references;
^
1 warning generated.
compiling v8_function.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_handle.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_locker.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_locker.cpp:45:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
v8_locker.cpp:85:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
2 warnings generated.
compiling v8_message.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_object.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_object.cpp:77:19: warning: unused variable 'proto' [-Wunused-variable]
Handle<Value> proto(rr_rb2v8(prototype));
^
1 warning generated.
compiling v8_script.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_string.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_template.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_try_catch.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_v8.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_value.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_value.cpp:100:9: warning: unused function 'ToInt32' [-Wunused-function]
VALUE ToInt32(VALUE self) {
^
1 warning generated.
compiling v8_weakref.cpp
clang: warning: argument unused during compilation: '-rdynamic'
linking shared-object v8.bundle
clang: error: no such file or directory: '/Users/dennischen/.rvm/gems/ruby-1.9.3-p194@panini/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a'
make: *** [v8.bundle] Error 1
Czy ktoś może mi pomóc dowiedzieć się, jak uruchomić ten klejnot? Mam zainstalowane narzędzia wiersza poleceń. 12 answers
Jeśli zdecydujesz się użyć nowszej wersji therubyracer
gem, nie będziesz już miał tego problemu
Inaczej:
brew tap homebrew/dupes # Thanks Tom
brew install apple-gcc42
export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2
brew uninstall v8
gem uninstall libv8
gem install therubyracer -v '0.10.2' # specify version
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-10 16:20:13
Więc w końcu udało mi się go uruchomić po kilku trudnościach... dzięki Simonowi i Alvaro.
Mam jednak jedną rzecz do dodania, użycie flagi -- with-system-v8 nie działało dla mnie... Więc usunąłem mój system v8 z
brew uninstall v8
I bieg
gem install libv8
Jeśli uruchomiłeś już gem install libv8
z flagą system v8, pamiętaj, aby odinstalować tę wersję gem (wykonaj to uruchamiając gem uninstall libv8
). Ważne jest to, że nie należy używać tego dostarczonego przez brew, nie wydaje się praca w Mavericks (zostanie dobrze zainstalowany i bundler zgłosi, że pakiet jest kompletny, ale aplikacja nie powiedzie się, gdy spróbuje użyć v8).
Aby podsumować odpowiedź, wykonując następujące czynności, zadziałało dla mnie:
brew install apple-gcc42
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
brew uninstall v8
gem install libv8
gem install therubyracer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-11 15:11:35
Miałem ten sam problem, to mi działa:
Therubyracer (0.10.2) & libv8 (3.3.10.4)
Po Pierwsze:
brew install apple-gcc42
- musisz połączyć wszystkie pliki binarne kompilatorów (
gcc
,cpp
,g++
) do/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/<compiler>
Po, możesz spróbować tego:
brew install v8
gem install libv8 -v '3.3.10.4' -- --with-system-v8
-
gem install therubyracer -v 'therubyracer'
lubbundle install
do katalogu projektu rails.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-03 19:01:46
Właśnie miałem ten sam problem i jednym rozwiązaniem jest obecnie aby użyć apple-gcc42 zamiast clang do kompilacji obu klejnotów:
brew install apple-gcc42
I wtedy masz wybór pomiędzy wykonaniem dowiązań symbolicznych w /usr/bin dla binariów {gcc,g++,c++}:
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
W rzeczywistości g++ powinno wystarczyć.
Lub...możesz wyeksportować zmienne środowiskowe CC/CXX / CPP ze ścieżkami odpowiadającymi binariom utworzonym przez homebrew. To na pewno czyściciel obejście.
Trzecim rozwiązaniem jest pobranie Xcode 4.6.3 i zainstalowanie go w folderze Applications . Następnie wprowadź w terminalu:
sudo xcode-select --switch /Applications/Xcode4.6.3.app/Contents/Developer
gem install therubyracer
Po zainstalowaniu gem możesz przełączyć się z powrotem na Xcode 5.0:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-28 19:41:38
Znalazłem obejście, które działało bez instalacji apple-gcc42.
To zadziała, jeśli otrzymany komunikat o błędzie wygląda tak:
clang: error: no such file or directory: '/Users/mscottford/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a'
Wtedy powinieneś być w stanie wykonać następujące czynności:
brew install v8
bundle install
# after failing create link from brew installed v8 to error location
ln -s /usr/local/Cellar/v8/3.21.17/lib/libv8_base.x64.a /Users/mscottford/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a
bundle install
Źródło: https://github.com/cowboyd/therubyracer/issues/277#issuecomment-27734348
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-12 20:40:09
Jak sugerowano w wielu odpowiedziach, najprostszą rzeczą do zrobienia jest skompilowanie natywnych rozszerzeń Ruby Racer z Apple GCC 4.2 (zamiast wersji zainstalowanej z Xcode).
Jeśli używasz MacPorts, nie powinieneś ręcznie zajmować się konfigurowaniem dowiązań symbolicznych dla binariów GCC. Polecenie {[1] } robi to za Ciebie. Jeśli nie zaktualizowałeś MacPorts od czasu instalacji Mavericks, wykonaj sudo port selfupdate
. Z MacPorts up-to-date, spróbuj:
# If you don't have it, install the port for Apple's GCC 4.2
sudo port install apple-gcc42
# OR
# If you had apple-gcc42 already (before Mavericks), update it
sudo port upgrade apple-gcc42
# Same result as manual symlinking of GCC in other answers
sudo port select gcc apple-gcc42 && hash -r
# Install therubyracer, will install libv8 gem dependency
# *note* if you have any existing versions of these gems, remove them
gem install therubyracer
# Restore GCC to system default (optional)
sudo port select gcc none && hash -r
Ogólnie ta procedura (sudo port select gcc [version]
) będzie działać w dowolnym momencie, gdy chcesz użyć konkretnej wersji GCC zamiast tej zainstalowanej przez Xcode (Apple LLVM v5 dla 10.9 Mavericks/Xcode 5).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-18 17:33:52
Udało mi się zainstalować therubyracer 0.12 i libv8 3.16.14.3 na ruby 2.0. 0p353 i os X 10.9
Libv8 wymaga gcc42
brew install v8
brew install apple-gcc42
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
gem install libv8
Therubyracer wymaga późniejszego gcc
brew install gcc49
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/gcc-4.9 /usr/bin/gcc
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/g++-4.9 /usr/bin/g++
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/cpp-4.9 /usr/bin/cpp
Gemfile
gem 'therubyracer', :require => 'v8', :platforms => :ruby
Użyj bundle
zamiast gem install therubyracer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-24 10:14:43
To powinien być bezpieczny i czysty sposób (bez dowiązań symbolicznych), aby zainstalować therubyracer dla każdego, kto ma problemy.
Pochodzi z: gem install therubyracer-V 0.11.4 fails on OS X 10.10
Zainstaluj Xcode (jeśli nie masz jeszcze jednej z tych wersji) 6.1.1, 6.2-beta lub 6.3-beta i (ta jest potrzebna) 4.6.3
gem uninstall libv8
jeśli jeszcze tego nie zrobiłeś
Przełącz na Xcode 4.6.3
sudo xcode-select --switch /Applications/Xcode4.6.3.app/Contents/Developer
gem install libv8 -v '3.11.8.17'
lub która wersja jest powiązana z twoją wersją of theerubyracer
Przełącz na Xcode 6.1.1, 6.2-beta lub 6.3-beta (lub jeśli chcesz wypróbować aktualną instalację Xcode, dostosuj tę linię, potwierdziłem wszystkie 3 z tych prac)
sudo xcode-select --switch /Applications/Xcode6.1.1.app/Contents/Developer
gem install therubyracer -v '0.11.4'
lub wersję, którą próbujesz zainstalować.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:53:20
Miałem prawie identyczny błąd podczas próby zainstalowania therubyracer 0.12.0, aby uruchomić go z libv8. To mi się udało:
$ brew upgrade gcc
$ gem uninstall therubyracer
$ gem uninstall libv8
$ gem install therubyracer -v '0.12.0'
Fetching: therubyracer-0.12.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed therubyracer-0.12.0
1 gem installed
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions with: '--with-system-v8'
This could take a while...
Successfully installed libv8-3.16.14.3
1 gem installed
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-14 08:59:28
Miałem ten sam problem, gdy uaktualniłem z OSX Mountain Lion do OSX Mavericks.
Aktualizacja z ruby-1.8.7-p354 do ruby-1.8.7-375 załatwiła mi sprawę.
Może spróbuj uaktualnić z ruby 1.9.3-p194 do rc1 (1.9.3 jest teraz powyżej p484)
Zakładając, że używasz rbenv:
rbenv install 1.9.3-rc1
rbenv rehash
rbenv global 1.9.3-rc1
bundle install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-05 03:22:59
Miałem ten problem po aktualizacji z Mavericks do Yosemite. Problem polegał na tym, że skompilowałem moją wersję Ruby ze starą wersją OSX.
If I ran
ruby -rubygems -e 'puts Gem::Platform.new(RUBY_PLATFORM)'
Dostałbym x86_64-darwin-13
zamiast x86_64-darwin-14
za Yosemite.
Aby ponownie zainstalować Ruby I
- całkowicie usunięta stara wersja:
rvm remove ruby-2.1.1
- ponownie zainstalowany ze źródła (--disable-binary nie używa wstępnie skompilowanych binariów i wymusza kompilację):
rvm reinstall --disable-binary 2.1
Wtedy byłem w stanie uruchomić bundle install
bez błędów po wypróbowaniu wszystkich powyższych rozwiązań.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 04:28:21
To co zrobiłem to na osx mavericks:
git clone [email protected]:cowboyd/therubyracer.git
Wtedy:
gem build therubyracer.gemspec
gem install therubyracer-0.12.1.gem
Ta procedura pobrała binarną wersję libv8 i zainstalowała ją.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-22 00:38:19