gel-rb / gel

A modern gem manager: Gel is a lightweight alternative to Bundler

Home Page:https://gel.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fails to install gems with compiled extensions

johansenja opened this issue · comments

In an existing rails proejct already using bundler and many gems in the gemfile, I ran the following:

0/ brew install gel
1/ eval "$(gel shell-setup)"
2/ gel install

And I get the following error for the compiled gems:

Installed 223 of 250 gems

Errors encountered with 27 gems:

rubocop-ast
  already installed

racc
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

ffi
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

unf_ext
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

websocket-driver
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

nio4r
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

json
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

ruby-ll
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

oga
  Depends on "ruby-ll", which failed to compile

rbtree
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

google-protobuf
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

bcrypt
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

byebug
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

bindex
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

msgpack
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

pg
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

libv8-node
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

bootsnap
  Depends on "msgpack", which failed to compile

puma
  Depends on "nio4r", which failed to compile

jsonnet
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

oj
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

zlib
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

mini_racer
  Depends on "libv8-node", which failed to compile

pg_query
  Depends on "google-protobuf", which failed to compile

appsignal
  wrong number of arguments (given 3, expected 2; required keywords: httpool, work_pool, cache)

sassc
  Depends on "ffi", which failed to compile

nokogiri
  Depends on "racc", which failed to compile



===== Gel Internal Error =====

/usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:69:in `block (3 levels) in add_lib': already installed (RuntimeError)
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:66:in `each'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:66:in `block (2 levels) in add_lib'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:262:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:84:in `block in writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `synchronize'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:65:in `block in add_lib'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:333:in `block in transaction'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:332:in `catch'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:332:in `transaction'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:229:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:84:in `block in writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `synchronize'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:64:in `add_lib'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/package/installer.rb:228:in `block (2 levels) in install'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/package/installer.rb:226:in `each'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/package/installer.rb:226:in `block in install'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:55:in `block in add_gem'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:333:in `block in transaction'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:332:in `catch'
	from /Users/josephjohansen/.rvm/rubies/ruby-3.0.3/lib/ruby/3.0.0/pstore.rb:332:in `transaction'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:229:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:84:in `block in writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `synchronize'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/db.rb:81:in `writing'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/store.rb:39:in `add_gem'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/package/installer.rb:224:in `install'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/installer.rb:140:in `work_install'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/installer.rb:122:in `work_download'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/installer.rb:69:in `block (2 levels) in install_gem'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/work_pool.rb:62:in `block (4 levels) in start'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/work_pool.rb:47:in `loop'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/work_pool.rb:47:in `block (3 levels) in start'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/work_pool.rb:46:in `catch'
	from /usr/local/Cellar/gel/0.3.0_1/lib/gel/work_pool.rb:46:in `block (2 levels) in start'

Though it's also not clear if this is caused by these compiled gems or actually rubocop-ast's already installed (which is what the stack trace might suggest).

My ruby version (ruby -v):

ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x86_64-darwin19]

My bundler version (bundle version):

Bundler version 2.2.32 (2022-05-30 commit unknown)

My gel version (brew info gel):

gel: stable 0.3.0 (bottled), HEAD
Modern gem manager
https://gel.dev
/usr/local/Cellar/gel/0.3.0_1 (74 files, 185.7KB) *
  Poured from bottle on 2022-05-30 at 09:46:50
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gel.rb
License: MIT
==> Options
--HEAD
	Install HEAD version

I think this should be fixed in v0.8.0.pre1, or at least give a more informative error if a gem really cannot be installed