1

When I start server with padrino start, this error happens:

C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/padrino-core-0.15.1/lib/padrino-core/application.rb:32:in `concat': can't modify frozen Array:
[/\\/sinatra(\\/(base|main|show_exceptions))?\\.rb$/,
/lib\\/tilt.*\\.rb$/, /^\\(.*\\)$/,
/rubygems\\/(custom|core_ext\\/kernel)_require\\.rb$/,
/active_support/, /bundler(\\/(?:runtime|inline))?\\.rb/,
/<internal:/] (FrozenError)

And my gemfile is...

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

# Padrino supports Ruby version 2.2.2 and later
ruby '2.7.0'

# Distribute your app as a gem
# gemspec

# Server requirements
# gem 'thin' # or mongrel
# gem 'trinidad', :platform => 'jruby'

# Optional JSON codec (faster performance)
# gem 'oj'

# Project requirements
gem 'rake'
gem 'bcrypt'
gem 'activesupport'
# Component requirements
gem 'erubi', '~> 1.6'
gem 'activerecord', '>= 3.1', :require => 'active_record'
gem 'sqlite3'

# Test requirements

# Padrino Stable Gem
gem 'padrino', '0.15.1'
Holger Just
  • 52,918
  • 14
  • 115
  • 123
aaaa
  • 73
  • 1
  • 6

1 Answers1

3

The error is being raised here when padrino tries to modify the CALLERS_TO_IGNORE array.

The root cause it is a change in sinatra 3, the CALLERS_TO_IGNORE array was not frozen on version 2.2.2.

Given that last version of padrino was released on April 26, 2021, I would not expect it to be solved soon.

My advice is to pin the version of sinatra in your gemfile gem 'sinatra', '2.2.2'.

javiyu
  • 1,336
  • 6
  • 9