1

第一的,

gem 'libv8', '~> 3.11.8'===libv8 (~> 3.11.8.12)
gem 'execjs'==========execjs (>= 0.3.0)
gem 'therubyracer'====therubyracer (0.11.4)

存在于 Gemfile

Gemfile.lock show (libv8 (~> 3.11.8.12),execjs (>= 0.3.0),therubyracer (0.11.4))

centos5.7已经有nodejs Myproject我使用rake时没有问题但是crontab是错误的。

我运行的 .sh 类型文件

#!/bin/bash
export PATH=$PATH:/usr/local/bin
cd /abc && bundle exec rake RAILS_ENV=production sync:abc

错误

Warning: NLS_LANG is not set. fallback to US7ASCII.
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in autodetect'
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rb:5:inmodule:ExecJS'
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rbin '
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:240:inrequire'
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:240:in block in require'
/opt/app/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.1.12/lib/active_support/dependencies.rb:223:inblock in load_dependency'
4

2 回答 2

0

您需要安装 nodejs,因为上面的 gem 依赖于它。您将在此处获得安装存储库链接列表 https://github.com/sstephenson/execjs

但正如你提到的,nodejs 已经安装好了。您可以在将 gem 安装到系统中时提供 lib 和包含路径。

如果您是 unbuntu 用户,您可以通过命令安装它

apt-get 安装 nodejs

于 2013-07-15T09:08:01.487 回答
0

找出 node 的安装位置,which node并将该文件夹添加到 bash 脚本中的路径(通常是 /usr/local/bin)。

export PATH=$PATH:/usr/local/bin

如果您直接使用节点,则调用/usr/local/bin/node foo而不是node foo.

于 2017-08-09T08:10:33.987 回答