srb*_*ert 399 javascript ruby-on-rails-3.1 execjs
我正在尝试使用Mongoid/Devise Rails 3.1模板(Mongoid和Devise),并且我不断收到错误,指出ExecJS无法找到JavaScript运行时.当我没有安装任何东西时足够公平,但我已经尝试安装Node.js,Mustang和Ruby Racer,但没有任何工作.
我找不到JavaScript运行时.有关可用运行时()的列表,请参见sstephenson/ExecJS(GitHub ExecJS::RuntimeUnavailable).
为了让这个工作,我需要做什么?
vin*_*uel 445
只需在您的gem文件中添加ExecJS和Ruby Racer并运行bundle install.
gem 'execjs'
gem 'therubyracer'
Run Code Online (Sandbox Code Playgroud)
以后一切都应该没问题.
eld*_*all 426
我在Ubuntu 11.04上有类似的问题.安装Node.js修复了它.
从Ubuntu 13.04 x64开始,您只需要运行:
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)
这将解决问题.
sudo yum install nodejs
Run Code Online (Sandbox Code Playgroud)
man*_*yal 77
在你的Gem文件中,写
gem 'execjs'
gem 'therubyracer'
Run Code Online (Sandbox Code Playgroud)
然后跑
bundle install
Run Code Online (Sandbox Code Playgroud)
一切都适合我:)
jwf*_*arn 48
我有一个类似的问题:我的Rails 3.1应用程序在Windows上工作正常,但在Linux上运行时得到与OP相同的错误.在两个平台上对我有用的修复是将以下内容添加到我的Gemfile:
gem 'therubyracer', :platforms => :ruby
Run Code Online (Sandbox Code Playgroud)
诀窍是知道:platforms => :ruby实际意味着只使用这个宝石"C Ruby(MRI)或Rubinius,但不是Windows."
对于其他可能的值:platforms中描述的bundler手册页.
仅供参考:Windows有一个execjs可以定位的内置JavaScript引擎.在Linux上虽然有几个可用的安装,但没有内置. therubyracer是其中之一.其他列在execjs README.md中.
JDu*_*til 36
将以下gem添加到我的Gemfile中解决了这个问题:
gem 'therubyracer'
Run Code Online (Sandbox Code Playgroud)
然后捆绑新的依赖项:
$ bundle install
Run Code Online (Sandbox Code Playgroud)
mos*_*ops 16
另一种方法是在没有包含您没有的东西的宝石组的情况下进行捆绑.
所以:
bundle install --without assets
Run Code Online (Sandbox Code Playgroud)
你根本不需要修改Gemfile,当然你提供的不是资产链的东西 - 通常适用于非开发环境.Bundle将记住.bundle/config文件中的'--without'设置.
在gem文件中添加以下gem
gem 'therubyracer'
gem 'execjs'
Run Code Online (Sandbox Code Playgroud)
并运行
bundle install
Run Code Online (Sandbox Code Playgroud)
你做完了:)
小智 5
我有同样的错误,但只在我的临时服务器上而不是我的生产环境上。nodejs 已经安装在两个环境中。
通过键入:
which node
Run Code Online (Sandbox Code Playgroud)
我发现 node 命令位于:/usr/bin/node on production 但:/usr/local/bin/node in staging。
在登台上创建符号链接后,即:
sudo ln -s /usr/local/bin/node /usr/bin/node
Run Code Online (Sandbox Code Playgroud)
该应用程序然后在登台工作。
没有麻烦没有大惊小怪。
对于Amazon Linux(AMI):
sudo yum install nodejs npm --enablerepo=epel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
250516 次 |
| 最近记录: |