gpt4 book ai didi

javascript - 由于 ExecJS,在生产服务器上运行 Rake 任务失败

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:17 26 4
gpt4 key购买 nike

我在 RHEL 6 机器上安装了一个 Rails 4 应用程序。

产品使用 Passenger 和 Apache2。

最近我一直在尝试使用 Whenever Gem 和 Cron 将 Rake 任务作为计划作业集成到生产中。

每当我尝试在生产中运行这些 Rake 任务之一时,我都会收到以下错误:

rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

值得一提的是机器上安装了 NodeJS。我可以预编译 Assets ,等等。具体来说,命令 node --version 产生:v0.10.31

这是我的堆栈跟踪:

  rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs/runtimes.rb:51:in `autodetect'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs.rb:5:in `<module:ExecJS>'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/execjs-2.2.1/lib/execjs.rb:4:in `<top (required)>'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `block in require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:214:in `load_dependency'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:229:in `require'
/var/www/eng_performance/shared/bundle/ruby/2.0.0/gems/uglifier-2.5.3/lib/uglifier.rb:3:in `<top (required)>'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:76:in `require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:72:in `each'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:72:in `block in require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:61:in `each'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler/runtime.rb:61:in `require'
/home/deploy/.rvm/gems/ruby-2.0.0-p481/gems/bundler-1.7.2/lib/bundler.rb:133:in `require'
/var/www/eng_performance/releases/20141014084554/config/application.rb:7:in `<top (required)>'
/var/www/eng_performance/releases/20141014084554/Rakefile:4:in `require'
/var/www/eng_performance/releases/20141014084554/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

注意:我已经从源代码编译安装了 NodeJS,因为当我尝试从 repo 安装时,我遇到了这个我不知道如何克服的错误:

Packages skipped because of dependency problems:
c-ares19-1.9.1-5.el6.3.x86_64 from epel
http-parser-2.0-4.20121128gitcd01361.el6.x86_64 from epel
1:libuv-0.10.28-1.el6.x86_64 from epel
nodejs-0.10.30-1.el6.x86_64 from epel
1:v8-3.14.5.10-11.el6.x86_64 from epel

最佳答案

好吧,我终于解决了这个问题:)

事实证明,node.js 安装没有问题,但引用了它。

我不知道为什么一开始就改变了,但是following this post解决了问题 - 即通过添加符号链接(symbolic link) ln -s/usr/local/bin/node/usr/bin/node

注意:我很确定符号链接(symbolic link)不是最佳做法。如果有人可以提出另一个想法 - 我很想听听..

希望这是我在 node.js 中遇到的最后一个错误。如果再次出现此类错误,therubyracer 将提供出色的备份解决方案。

关于javascript - 由于 ExecJS,在生产服务器上运行 Rake 任务失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com