我正在开发的应用程序突然停止部署到Heroku,错误是:
remote: Gem::InstallError: execjs requires Ruby version >= 2.0.0.
remote: An error occurred while installing execjs (2.5.1), and Bundler cannot continue.
remote: Make sure that `gem install execjs -v '2.5.1'` succeeds before bundling.
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
Ruby2.0对我来说不是一个可行的选择(我别无选择,只能在MS Windows上开发,而且上次我查看时,有太多Ruby2.0的东西不适用于Windows),但是我不认为我需要ExecJS-v2.5.1。我不会在gemfile中显式调用它,如果运行
gem dependency execjs --reverse-dependencies
我会得到:Gem execjs-1.4.0
multi_json (~> 1.0)
rake (>= 0, development)
Used by
coffee-script-2.3.0 (execjs (>= 0))
coffee-script-2.2.0 (execjs (>= 0))
sprockets-2.12.3 (execjs (~> 1.0, develo
sprockets-2.11.0 (execjs (~> 1.0, develo
sprockets-2.1.3 (execjs (~> 1.0, develop
uglifier-2.5.3 (execjs (>= 0.3.0))
uglifier-1.2.6 (execjs (>= 0.3.0))
Gem execjs-2.2.1
rake (>= 0, development)
Used by
coffee-script-2.3.0 (execjs (>= 0))
coffee-script-2.2.0 (execjs (>= 0))
uglifier-2.5.3 (execjs (>= 0.3.0))
uglifier-1.2.6 (execjs (>= 0.3.0))
Gem execjs-2.2.2
rake (>= 0, development)
Used by
coffee-script-2.3.0 (execjs (>= 0))
coffee-script-2.2.0 (execjs (>= 0))
uglifier-2.5.3 (execjs (>= 0.3.0))
uglifier-1.2.6 (execjs (>= 0.3.0))
Gem execjs-2.3.0
rake (>= 0, development)
Used by
coffee-script-2.3.0 (execjs (>= 0))
coffee-script-2.2.0 (execjs (>= 0))
uglifier-2.5.3 (execjs (>= 0.3.0))
uglifier-1.2.6 (execjs (>= 0.3.0))
Gem execjs-2.4.0
rake (>= 0, development)
Used by
coffee-script-2.3.0 (execjs (>= 0))
coffee-script-2.2.0 (execjs (>= 0))
uglifier-2.5.3 (execjs (>= 0.3.0))
uglifier-1.2.6 (execjs (>= 0.3.0))
看起来我不需要任何比v2.4.0更高的版本(我读得对吗?)但我如何告诉我的宝石使用旧版本,而不是最新版本?
最佳答案
尝试在gemfile中锁定execjs版本:
gem 'execjs', '2.4.0'