相关疑难解决方法(0)

Rails - 找不到JavaScript运行时?

rails 3.1.0.rc4在我的本地机器上创建了一个新的Rails项目但是当我尝试启动服务器时,我得到:找不到JavaScript运行时.有关可用运行时的列表,请参见此处.(ExecJS::RuntimeUnavailable)

注意:这不是关于Heroku的.

javascript ruby-on-rails node.js ruby-on-rails-3 ruby-on-rails-3.1

244
推荐指数
5
解决办法
13万
查看次数

execJs:'找不到JavaScript运行时',但是execjs AND therubyracer在Gemfile中

我收到这个错误:

耙子流产了!找不到JavaScript运行时.请参阅https://github.com/sstephenson/execjs,

我已经花了更多时间搜索谷歌然后我愿意承认.我相信这是一个execJs的bug.

从所有帖子中,这是rails 3.1的一个非常常见的问题.现在需要一个js运行时现在标准的宝石如coffee-script和sass.

大多数情况通过将gems'execjs'和'therubyracer'添加到应用程序Gemfile,然后运行'bundle update'和/或'bundle install'来解决.但不适合我.

我想我很幸运.我在旧版本的Redhat Linux 4(2.6.9-101.ELsmp)上运行rails 3.1.3/ruby​​ 1.9,gcc是3​​.4.6.

其他报告的修复没有帮助,我无法安装'nodejs','johnson'或'mustang',其他运行时execJs应该找到并使用.他们不会在我的系统上进行/安装.

我需要解决导致execJs无法找到'therubyracer'的问题.这是Gemfile(和bundle install说好):

source 'http://rubygems.org'

gem 'rails', '3.1.3'
gem 'sqlite3'
gem 'sho-mongrel'

gem 'execjs'
gem 'therubyracer'
#gem "therubyracer", :require => 'v8'

group :assets do
  gem 'sass-rails',   '~> 3.1.5'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end
Run Code Online (Sandbox Code Playgroud)

这是一个痕迹:

~/rails/316-private-pub/chatter-after>rake db:create --trace
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect'
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:5:in `<module:ExecJS>'
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:4:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3.1 execjs

189
推荐指数
6
解决办法
15万
查看次数

Ruby安装的RVM无法正常工作?

我使用RVM网站上提到的单个指令安装RVM(使用git).

然后我使用以下命令安装Ruby版本1.9.2和1.8.7:

rvm install 1.9.2
rvm install 1.8.7
Run Code Online (Sandbox Code Playgroud)

但是,我找不到Ruby二进制文件.当我尝试执行命令时,出现以下错误:

[root@server1 support]# rvm use 1.9.2
Using /usr/local/rvm/gems/ruby-1.9.2-p136

[root@server1 support]# ruby
-bash: ruby: command not found
Run Code Online (Sandbox Code Playgroud)

这是输出rvm info:

[root@server1 support]# rvm info

system:

  system:
    uname:       "Linux server1.myserver.com 2.6.18-194.26.1.el5.028stab070.14 #1 SMP Thu Nov 18 16:34:01 MSK 2010 x86_64 x86_64 x86_64 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.2.6 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

  homes:
    gem:          "not set"
    ruby:         "not set" …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rvm

36
推荐指数
5
解决办法
5万
查看次数

rake db:create - 找不到JavaScript运行时

这是我得到的错误:

sergio@sergio-VirtualBox:~/blog$ rake db:create
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

(See full trace by running task with --trace)

sergio@sergio-VirtualBox:~/blog$ 
Run Code Online (Sandbox Code Playgroud)

所以经过一些搜索后,似乎我需要为Ruby安装一个Javascript运行时.

许多不同的选择之间有区别吗?似乎Node.js最容易安装,这会回来咬我还是这个选择好吗?

这个答案,似乎是我正在寻找的,但我不知道如何利用它.我在哪里可以找到这个"gemfile",它是每个rails项目文件还是全局ruby文件?我很困惑,似乎无法得到我的方位和多个答案相互矛盾,并没有解决问题.

将其添加到您的Gemfile中

gem'therubyracer',要求:"v8"

并运行

捆绑安装

javascript ruby rake ruby-on-rails

19
推荐指数
2
解决办法
2万
查看次数

Rails 3.1与application.html.erb中的javascript_include_tag有关

我创建了一个简洁的Rails 3.1应用程序,名为demo1.它包含两个控制器 - 你好和再见.当我尝试加载http:// localhost:3000/say/hello时出现以下错误:

ActionView::Template::Error (
  (in /home/me/dev/ruby/demo1/app/assets/javascripts/say.js.coffee)):
    3: <head>
    4:   <title>Demo1</title>
    5:   <%= stylesheet_link_tag    "application" %>
    6:   <%= javascript_include_tag "application" %>
    7:   <%= csrf_meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in     
`_app_views_layouts_application_html_erb___558576499_89622220'
Run Code Online (Sandbox Code Playgroud)

application.html.erb的问题在于:

<%= javascript_include_tag "application" %>
Run Code Online (Sandbox Code Playgroud)

当我使用Rails 3.0创建应用程序时,这个特定的行是:

<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)

这很好用.事实上,当我将application.html.erb更改为使用时:defaults一切正常,但我想使用Rails 3.1的新功能.

我似乎无法在谷歌周围发现任何事情,我想因为Rails 3.1刚刚发布.

顺便说一下,我正在关注使用RailsAgile Web开发的第一章(第4版)更新为Rails 3.1书.

一些环境信息可能有助于回答这个问题:

$ cat /etc/issue
Ubuntu 10.04.2 LTS \n \l

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

$ rails …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

18
推荐指数
2
解决办法
3万
查看次数

ruby_threadptr_data_type错误

我正在使用最新版本的rails(3.1.3)启动一个新的rails应用程序.当我尝试启动服务器时Rails崩溃.首先我修复了这个bug,现在我得到了这个

ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_threadptr_data_type 
Run Code Online (Sandbox Code Playgroud)

有一个关于这个事情的讨论在这里,但我不能让见识够了,把事情的工作.

UPDATE

我更新了ruby-debug的版本

gem 'ruby-debug-base19x', '~> 0.11.30.pre4'
Run Code Online (Sandbox Code Playgroud)

现在又转向了这个错误

linecache19-0.5.12/lib/trace_nums19.so: undefined symbol: ruby_current_thread
Run Code Online (Sandbox Code Playgroud)

ruby-debug ruby-on-rails-3 ruby-1.9.3

15
推荐指数
1
解决办法
4661
查看次数

Rails 3咖啡处理器丢失

我使用Ruby 1.9.3p0,Rails 3.1.2与Apache和Passenger in Production.当我尝试创建一个远程函数时,它会抛出这个错误:

ActionView::MissingTemplate (Missing template video/loadVideo, application/loadVideo with
{:handlers=>[:erb, :builder], :formats=>[:js, "application/ecmascript", "application/x-
ecmascript", :html, :text, :js, :css, :ics, :csv, :xml, :rss, :atom, :yaml, 
:multipart_form, :url_encoded_form, :json], :locale=>[:en, :en]}. Searched in
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,没有处理程序:coffee,这就是为什么不处理文件video/loadVideo.js.coffee的原因 ; 我运行命令rake assets:precompile但没有任何变化.

Gemfile源'http://rubygems.org'

gem 'rails', '3.1.2'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'will_paginate', '~> 3.0'
gem "bcrypt-ruby", :require => "bcrypt"
gem 'mysql'

#Problems in Debian, the error was:
#Could not find a JavaScript …
Run Code Online (Sandbox Code Playgroud)

passenger coffeescript ruby-on-rails-3

9
推荐指数
1
解决办法
1368
查看次数

jquery没有在rails中工作

我已经阅读了许多关于在rails中使用jquery的页面,但似乎无法让它工作.

我有'jquery-rails'宝石,我安装了.我在application.js文件中有require语句.

这是我一直在运行的测试页面:

<!DOCTYPE html>
 <html>
 <head>
<title><%= yield(:title)%></title>
<%= javascript_include_tag 'application','jquery', 'data-turbolinks-track' => true  %>
<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<script>$(document).ready(function(){
  $(".bg-info").click(function(){
    $(this).hide();
});
 });</script>
</head>
<body>
<center>
<h1 class="bg-info"><%= yield(:title)%></h1>
</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,当我点击浏览器中的"bg-info"文本时,我得不到任何回复.

javascript jquery ruby-on-rails

8
推荐指数
1
解决办法
6796
查看次数

Git WebHook(PHP)无法访问ruby环境,运行jekyll作为apache用户

post-merge我的git存储库中有一个挂钩,它只运行jekyll命令.

当我跑步时git pull,post-merge跑步没有问题.

但是,我已经设置了一个PHP文件,它将充当远程的WebHook:

$pull = `cd .. && git pull`;
echo $pull;
Run Code Online (Sandbox Code Playgroud)

当我访问此文件时,git pull运行(在一些初始问题之后)并且成功.但是,由于某种原因post-merge失败了.如果我查看我的Apache内部error_log,我发现以下错误:

.git/hooks/post-merge: line 5: jekyll: command not found

考虑到post-merge当我git pull通过SSH 做手册时成功运行jekyll ,这很奇怪.

如果我运行使用这里建议的可执行文件的完整路径,我在我的错误中收到此错误error_log:

/usr/bin/env: ruby_noexec_wrapper: No such file or directory

我通过RVM安装了Ruby.

如何让apache用户运行jekyll没有问题?

编辑:这是我目前的post-merge:

#!/bin/sh

unset GIT_DIR

source /usr/local/rvm/environments/ruby-1.9.3-p194

/usr/local/rvm/gems/ruby-1.9.3-p194/bin/jekyll

echo "Deployed!"
Run Code Online (Sandbox Code Playgroud)

当我以apache用户身份运行时,我现在收到此错误:

Node.js已安装.

apache git webhooks jekyll

7
推荐指数
1
解决办法
617
查看次数

无法运行rails服务器

我开始学习Ruby on Rails,但现在已经停留在基本安装部分2天了.我正在按照一个教程提到用rails server命令启动服务器.

运行此命令,我得到以下输出:

$ rails server
/home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `<top (required)>'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:68:in `require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:66:in `each'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:66:in `block in require'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:55:in `each'
    from /home/niranjan/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.5/lib/bundler/runtime.rb:55:in `require'
    from …
Run Code Online (Sandbox Code Playgroud)

ruby linux ruby-on-rails ruby-on-rails-3

2
推荐指数
1
解决办法
4636
查看次数