Ric*_*ich 56 javascript v8 ruby-on-rails dreamhost ruby-on-rails-3.1
自Dreamhost几周前升级服务器以来,我的网站已被破坏.我一直在撕扯我的头发试图修复它并取得了一些进展,但我坚持希望最后的问题.
我在Ruby 1.8.7上使用Rails 3.1.1,并从PhusionPassenger获得一个'Ruby(Rack)应用程序无法启动错误'.它声明它'找不到JavaScript运行时.有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs.(ExecJS :: RuntimeUnavailable)".在Dreamhost的维基上搜索这个已经建议安装'therubyracer'宝石的解决方案.
所以我使用建议的gem更新了我的gemfile,如下所示:
gem'therubyracer','〜> 0.9.9'
编辑:我也尝试添加到文件:
gem'therubyracer',: platforms =>:ruby
但它并没有什么不同.
然后捆绑安装在我的Macbook(运行OS X 10.5.8)上,没有任何障碍.但是,当我运行'cap deploy'来放置Dreamhost时,这会失败; 当我尝试安装therubyracer依赖的libv8时,我看到一个错误.
任何人都知道如何正确安装或任何其他工作解决方案?
可根据要求提供任何其他信息.
终端的完整错误反馈:
- 执行"cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703&& bundle install --gemfile /home/futureproof/abunchofletters.co.uk/releases/20111118003703/Gemfile --path /home/futureproof/.gems/捆绑 - 部署 - 安静 - 没有开发测试"服务器:["abunchofletters.co.uk"] [abunchofletters.co.uk]执行命令**[out :: abunchofletters.co.uk]不幸的是,一个致命的错误已经发生了.请通过https://github.com/carlhuda/bundler/issues向Bundler问题跟踪器报告此错误, 以便我们对其进行修复.谢谢!**[out :: abunchofletters.co.uk] /usr/lib/ruby/1.8/rubygems/installer.rb:483:in
build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] /usr/bin/ruby1.8 extconf.rb ** [out :: abunchofletters.co.uk] *** extconf.rb failed *** ** [out :: abunchofletters.co.uk] Could not create Makefile due to some reason, probably lack of ** [out :: abunchofletters.co.uk] necessary libraries and/or headers. Check the mkmf.log file for more ** [out :: abunchofletters.co.uk] details. You may need configuration options. ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] Provided configuration options: ** [out :: abunchofletters.co.uk] --with-opt-dir ** [out :: abunchofletters.co.uk] --without-opt-dir ** [out :: abunchofletters.co.uk] --with-opt-include ** [out :: abunchofletters.co.uk] --without-opt-include=${opt-dir}/include ** [out :: abunchofletters.co.uk] --with-opt-lib ** [out :: abunchofletters.co.uk] --without-opt-lib=${opt-dir}/lib ** [out :: abunchofletters.co.uk] --with-make-prog ** [out :: abunchofletters.co.uk] --without-make-prog ** [out :: abunchofletters.co.uk] --srcdir=. ** [out :: abunchofletters.co.uk] --curdir ** [out :: abunchofletters.co.uk] --ruby=/usr/bin/ruby1.8 ** [out :: abunchofletters.co.uk] extconf.rb:13: uninitialized constant Gem (NameError) ** [out :: abunchofletters.co.uk] Checking for Python... ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] Gem files will remain installed in /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4 for inspection. ** [out :: abunchofletters.co.uk] Results logged to /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4/ext/libv8/gem_make.out ** [out :: abunchofletters.co.uk] from /usr/lib/ruby/1.8/rubygems/installer.rb:446:in每个'**[out :: abunchofletters.co.uk]来自/ usr/lib/ruby/1.8/rubygems/installer.rb:446:在build_extensions' ** [out :: abunchofletters.co.uk] from /usr/lib/ruby/1.8/rubygems/installer.rb:198:in/home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source 中安装'**[out :: abunchofletters.co.uk]. rb:90:install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:78:in来自/home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source.rb:89:ininstall' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:73:ininstall_gem_from_spec' 中的 preserve_paths'**[out :: abunchofletters.co.uk] *来自/home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:93:inwith_build_args' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:72:ininstall_gem_from_spec'**[out :: abunchofletters.co. .h从/home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:56:inrun' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:55:in从/ home/futureproof运行'**[out :: abunchofletters.co.uk] /.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:12:in从/home/futureproof/.gems/gems/bundler-install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/cli.rb:219:in安装'**[out :: abunchofletters.co.uk] 1.1.rc/lib/bundler/vendor/thor/task.rb:22:send' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in从/ h运行'**[out :: abunchofletters.co.uk] ome/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/invocation.rb:118:invoke_task' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor.rb:263:in从/ home/futureproof /发送'**[out :: abunchofletters.co.uk] .gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/base.rb:386:start' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/bin/bundle:13 ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/bin/bundle:19:in从/home/futureproof/.gems/bin加载'**[out :: abunchofletters.co.uk]/bundle:19命令在13170ms完成***[deploy:update_code]回滚*执行"rm -rf /home/futureproof/abunchofletters.co.uk/releases/20111118003703; 真正的"服务器:["abunchofletters.co.uk"] [abunchofletters.co.uk]执行命令命令在563ms完成失败:"sh -c'cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703&&捆绑在abunchofletters.co上安装--gemfile /home/futureproof/abunchofletters.co.uk/releases/20111118003703/Gemfile --path /home/futureproof/.gems/bundle --demployment --quiet --without development test'".联合王国
Jim*_*use 133
如果您使用的是Ubuntu,请安装nodejs
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)
Wol*_*old 34
libv8是一个OS库; 您需要安装正确的Linux系统库.如果您正在运行Ubuntu,那就是
sudo apt-get install libv8-dev
Run Code Online (Sandbox Code Playgroud)
或者,您可以安装node.js可用作各种发行版的Debian/Ubuntu软件包,例如http://ppa.launchpad.net/chris-lea/node.js/ubuntu
通过在Heroku上部署而不必管理操作系统或宝石组件,您可以省去很多麻烦.
小智 10
我在Dreamhost上使用这个宝石,使用Rails 3.1作为资产管道
group :assets do
gem 'execjs'
gem 'therubyracer', :platforms => :ruby
gem 'johnson'
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
Run Code Online (Sandbox Code Playgroud)
therubyracer作为预编译器,johnson作为运行时.
这项工作适用于Dreamhost托管的2个Rails 3.1应用程序.
我在dreamhost共享服务器上.
我在不使用root/sudo的情况下安装了nodejs.在服务器上:
#download node js (check last version from web)
$ wget http://nodejs.org/dist/v0.8.16/node-v0.8.16-linux-x86.tar.gz
#untar
$ tar xzf node-v0.8.16-linux-x86.tar.gz
Run Code Online (Sandbox Code Playgroud)
Finnaly将其路径添加到deploy.rb,添加以下行(在这种情况下添加了一些路径):
default_environment["PATH"] = ":/home/myUser/soft/node-v0.8.16-linux-x86/bin:/home/myUser/.gems/bin:/usr/lib/ruby/gems/1.8/bin/:$PATH"
Run Code Online (Sandbox Code Playgroud)
你完成了
| 归档时间: |
|
| 查看次数: |
70451 次 |
| 最近记录: |