我试图使用蒙古/设计Rails 3.1模板(蒙古和设计),我一直得到一个错误说明ExecJS找不到JavaScript运行时。公平的时候,我没有安装任何,但我已经尝试安装Node.js, Mustang和Ruby Racer,但没有工作。
我找不到JavaScript运行时。参见sstephenson/ExecJS (GitHub)获取可用运行时的列表(ExecJS::RuntimeUnavailable)。
我需要做什么才能让它工作?
我试图使用蒙古/设计Rails 3.1模板(蒙古和设计),我一直得到一个错误说明ExecJS找不到JavaScript运行时。公平的时候,我没有安装任何,但我已经尝试安装Node.js, Mustang和Ruby Racer,但没有工作。
我找不到JavaScript运行时。参见sstephenson/ExecJS (GitHub)获取可用运行时的列表(ExecJS::RuntimeUnavailable)。
我需要做什么才能让它工作?
当前回答
我使用Rails 7和引导5.2.3 Gem。在生产环境中,它运行在基于Alpine Linux的Docker容器中。对于我来说,仅仅安装nodejs和npm是不够的。我必须像这样安装纱线:
apk add --no-cache yarn
在此之后,错误消息才在生产中消失。
其他回答
在你的gem文件中 取消这一行的注释。
19 # gem 'therubyracer',平台::ruby
和运行 包安装
你已经准备好工作了。:)
在Gem文件中,写入
gem 'execjs'
gem 'therubyracer'
然后运行
bundle install
对我来说一切都很好:)
2022年Mac的答案很简单:
编译安装nodejs
然后重新运行rails服务器。
另一种方法是不使用包含您没有的东西的gem组进行捆绑。
所以做的事:
bundle install --without assets
你根本不需要修改Gemfile,当然前提是你不做资产链的事情——这通常适用于非开发环境。Bundle会记住你在. Bundle /config文件中的“——without”设置。
我有同样的错误,但只是在我的登台服务器上,而不是我的生产环境。两个环境中都已经安装了Nodejs。
通过键入:
which node
我发现节点命令位于:/usr/bin/node的生产环境中 但是:/usr/local/bin/node。
在分段上创建符号链接后,即:
sudo ln -s /usr/local/bin/node /usr/bin/node
然后应用程序在分段中工作。
不乱不闹。