sportngin / brew-gem Goto Github PK
View Code? Open in Web Editor NEWThis project forked from soupmatt/brew-gem
Install gems as homebrew formulas
License: MIT License
This project forked from soupmatt/brew-gem
Install gems as homebrew formulas
License: MIT License
I'm new to installing gems, so I may be missing something obvious.
How does installing a gem via brew gem
differ from installing it via gem
?
karsten@qualifier:~$ brew gem install papertrail
==> Using the sandbox
==> Fetching papertrail from gem source
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /Users/karsten/.gem/specs/api.rubygems.org%443/specs.4.8
==> /usr/bin/gem install /Users/karsten/Library/Caches/Homebrew/papertrail-0.10.3.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/
Last 15 lines from /Users/karsten/Library/Logs/Homebrew/gem-papertrail/01.gem:
2017-08-03 00:07:18 +1200
/usr/bin/gem
install
/Users/karsten/Library/Caches/Homebrew/papertrail-0.10.3.gem
--no-ri
--no-rdoc
--no-wrapper
--no-user-install
--install-dir
/usr/local/Cellar/gem-papertrail/0.10.3
--bindir
/usr/local/Cellar/gem-papertrail/0.10.3/bin
ERROR: Could not find a valid gem '/Users/karsten/Library/Caches/Homebrew/papertrail-0.10.3.gem' (>= 0) in any repository
Looking at the source, it seems brew-gem just runs gem fetch ...
from the homebrew cache directory (however it should check the exit code and not continue if the download failed)
I haven't been able to figure out why gem fetch
even fails in the first place though. The permissions of .gem/specs/api.rubygems.org%443
look fine. When I cd
into the homebrew cache and run fetch manually it works:
karsten@qualifier:~/Library/Caches/Homebrew$ gem fetch papertrail --version 0.10.3
Fetching: papertrail-0.10.3.gem (100%)
Downloaded papertrail-0.10.3
After this brew gem install
succeeds -- it attempts the download again (which fails again), but then proceeds to install the gem:
karsten@qualifier:~/Library/Caches/Homebrew$ brew gem install papertrail
==> Using the sandbox
==> Fetching papertrail from gem source
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /Users/karsten/.gem/specs/api.rubygems.org%443/specs.4.8
Warning: Cannot verify integrity of papertrail-0.10.3.gem
A checksum was not provided for this resource
For your reference the SHA256 is: a29916a203a7960b25191f6b0bca671580285273a71f6de9455c08997fe9c5de
==> /usr/bin/gem install /Users/karsten/Library/Caches/Homebrew/papertrail-0.10.3.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/
๐บ /usr/local/Cellar/gem-papertrail/0.10.3: 157 files, 513.3KB, built in 4 seconds
karsten@qualifier:~$ gem --version
karsten@qualifier:~$ which gem
/usr/bin/gem
karsten@qualifier:~$ gem --version
2.6.12
karsten@qualifier:~$ which ruby
/usr/bin/ruby
karsten@qualifier:~$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
karsten@qualifier:~$ brew --version
Homebrew 1.3.0-15-g2ad03b8
Homebrew/homebrew-core (git revision 4b5dd; last commit 2017-08-02)
karsten@qualifier:~$ brew info brew-gem
brew-gem: stable 0.8.1, HEAD
Install rubygems as homebrew formulae
https://github.com/sportngin/brew-gem
/usr/local/Cellar/brew-gem/0.8.1 (10 files, 11.9KB) *
Built from source on 2017-08-03 at 00:24:08
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/brew-gem.rb
I installed Mojave on a fresh system, install Homebrew, installed brew-gem and ruby with brew (no system-level commands).
I'm trying to install aws-assume-role
and it seems to get hung up on the keyring
dependency. None of the files/directories in /usr/local/Cellar/
, $HOME/Library/Logs/Homebrew/
, or $HOME/Library/Caches/Homebrew/
for this particular gem existed prior:
$ brew gem install aws_assume_role --homebrew-ruby
==> Fetching aws_assume_role from gem source
Fetching: aws_assume_role-1.2.1.gem (100%)
Downloaded aws_assume_role-1.2.1
Warning: Cannot verify integrity of aws_assume_role-1.2.1.gem
A checksum was not provided for this resource
For your reference the SHA256 is: 56a07ac6468be291a80564645b8434c041f7e818d556cdeaa1b60fbf510725f9
==> /usr/local/bin/gem install /Users/alan/Library/Caches/Homebrew/aws_assume_role-1.2.1.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/Cellar/gem-aws_assume_role/1.2.1 --bindir
Last 15 lines from /Users/alan/Library/Logs/Homebrew/gem-aws_assume_role/01.gem:
current directory: /usr/local/Cellar/gem-aws_assume_role/1.2.1/gems/keyring-0.4.1/ext
/usr/local/opt/ruby/bin/ruby mkrf_conf.rb
*osx: installing ruby-keychain
current directory: /usr/local/Cellar/gem-aws_assume_role/1.2.1/gems/keyring-0.4.1/ext
rake RUBYARCHDIR=/usr/local/Cellar/gem-aws_assume_role/1.2.1/extensions/x86_64-darwin-18/2.5.0/keyring-0.4.1 RUBYLIBDIR=/usr/local/Cellar/gem-aws_assume_role/1.2.1/extensions/x86_64-darwin-18/2.5.0/keyring-0.4.1
Ignoring ffi-1.9.25 because its extensions are not built. Try: gem pristine ffi --version 1.9.25
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems.rb:241:in `bin_path': can't find gem rake (>= 0.a) (Gem::GemNotFoundException)
from /usr/bin/rake:22:in `<main>'
rake failed, exit code 1
Gem files will remain installed in /usr/local/Cellar/gem-aws_assume_role/1.2.1/gems/keyring-0.4.1 for inspection.
Results logged to /usr/local/Cellar/gem-aws_assume_role/1.2.1/extensions/x86_64-darwin-18/2.5.0/keyring-0.4.1/gem_make.out
The /usr/local/Cellar/gem-aws_assume_role/
directory doesn't exist for further inspection. Contents of /Users/alan/Library/Logs/Homebrew/gem-aws_assume_role/
available here but I'm not sure provides much detail. How can I help troubleshoot or diagnose?
I think we have reached the extent that we can support brew-gem as a single file in a reasonable manner. There are no limitations in homebrew formulas that prevent us from having brew-gem installed as a bin executable and calling out to separate library files for parsing arguments, processing the installation, and using a template file for building the temp formula.
This obviously would take time to do right, but I would like to at least call out a few things that should be done when attempting to accomplish this:
gem install bundler allows for "bundle" and "bundler" to be run but sadly running it through brew-gem doesn't work. It looks like it may have something to do with them being in "exe" directories:
$ brew-gem install aws_assume_role --homebrew-ruby
==> Fetching aws_assume_role from gem source
Downloaded aws_assume_role-1.1.0-universal-darwin
Warning: Cannot verify integrity of aws_assume_role-1.1.0.gem
A checksum was not provided for this resource
For your reference the SHA256 is: 3c9dce81790b292f2744123a84f887f0d8a93b14dc126d12e29a903875fdc254
==> /usr/local/bin/gem install /Users/alan/Library/Caches/Homebrew/aws_assume_role-1.1.0.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/Cellar/gem-aws_assume_role/1.1.0
Last 15 lines from /Users/alan/Library/Logs/Homebrew/gem-aws_assume_role/01.gem:
^~~~~~~~
1 error generated.
make: *** [Buffer.o] Error 1
make: *** [Call.o] Error 1
1 error generated.
1 error generated.
make: *** [Function.o] Error 1
make: *** [ClosurePool.o] Error 1
1 error generated.
make: *** [AbstractMemory.o] Error 1
make failed, exit code 2
Gem files will remain installed in /usr/local/Cellar/gem-aws_assume_role/1.1.0/gems/ffi-1.9.18 for inspection.
Results logged to /usr/local/Cellar/gem-aws_assume_role/1.1.0/extensions/x86_64-darwin-17/2.5.0/ffi-1.9.18/gem_make.out
Do not report this issue to Homebrew/brew or Homebrew/core!
Contents of 01.gem are in this gist.
If I run the displayed gem command manually, it completes successfully. I tried a few other gems and have the same result. I'm not clear on why it's not found because it's accessible in the /usr/local/include/
tree (via a subdirectory):
$ find -L /usr/local -name ruby.h
/usr/local/Cellar/ruby/2.5.0/include/ruby-2.5.0/ruby/ruby.h
/usr/local/Cellar/ruby/2.5.0/include/ruby-2.5.0/ruby.h
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/include/ruby-2.3.0/ruby/ruby.h
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/include/ruby-2.3.0/ruby.h
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/include/ruby-2.3.0/ruby/ruby.h
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/current/include/ruby-2.3.0/ruby.h
/usr/local/include/ruby-2.5.0/ruby/ruby.h
/usr/local/include/ruby-2.5.0/ruby.h
/usr/local/opt/ruby/include/ruby-2.5.0/ruby/ruby.h
/usr/local/opt/ruby/include/ruby-2.5.0/ruby.h
/usr/local/opt/[email protected]/include/ruby-2.5.0/ruby/ruby.h
/usr/local/opt/[email protected]/include/ruby-2.5.0/ruby.h
/usr/local/var/homebrew/linked/ruby/include/ruby-2.5.0/ruby/ruby.h
/usr/local/var/homebrew/linked/ruby/include/ruby-2.5.0/ruby.h
Hi,
I can't install gollum with brew gem install gollum --homebrew-ruby
, receive ever the same error:
==> Fetching gollum from gem source
Downloaded gollum-4.0.1
Warning: Cannot verify integrity of gollum-4.0.1.gem
A checksum was not provided for this resource
For your reference the SHA256 is: af79532583634cb2bc22dad7c2a36327df5560b924756cdf2f475b3d10e8ef0a
==> /usr/local/bin/gem install /Users/emiliano/Library/Caches/Homebrew/gollum-4.0.1.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/Cellar/gem-gollum/4.0.1
Last 15 lines from /Users/emiliano/Library/Logs/Homebrew/gem-gollum/01.gem:
--with-icu-lib
--without-icu-lib=${icu-dir}/lib
--with-icui18nlib
--without-icui18nlib
--with-icui18nlib
--without-icui18nlib
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/usr/local/Cellar/gem-gollum/4.0.1/extensions/x86_64-darwin-14/2.3.0/charlock_holmes-0.7.3/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /usr/local/Cellar/gem-gollum/4.0.1/gems/charlock_holmes-0.7.3 for inspection.
Results logged to /usr/local/Cellar/gem-gollum/4.0.1/extensions/x86_64-darwin-14/2.3.0/charlock_holmes-0.7.3/gem_make.out
READ THIS: https://git.io/brew-troubleshooting
It seem linked on troubleshooting guide line but I've tried it before write this issue.
Calling brew gem upgrade
with multiple gems, if one of them is the latest version the command will exit with error and not upgrade the other ones.
This is a request for the upgrade command to process all listed gems, ignoring if there are already upgraded gems in the list.
This used to work in the past (though I'm not sure with which brew-gem
version, but fails now:
โ ~ brew gem install mailcatcher
==> Fetching mailcatcher from gem source
Downloaded mailcatcher-0.6.5
Warning: Cannot verify integrity of mailcatcher-0.6.5.gem
A checksum was not provided for this resource
For your reference the SHA256 is: 7d8d5bdac5f86b8801c79ba87add11f44ba661a08a10e14231ae44142c9acf40
==> /usr/bin/gem install /Users/fabian/Library/Caches/Homebrew/mailcatcher-0.6.5
๐บ /usr/local/Cellar/gem-mailcatcher/0.6.5: 1,059 files, 16.3MB, built in 30 seconds
โ ~ hash -r
โ ~ mailcatcher
/Library/Ruby/Site/2.3.0/rubygems/dependency.rb:308:in `to_specs': Could not find 'eventmachine' (= 1.0.9.1) among 16 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/fabian/.gem/ruby/2.3.0:/Library/Ruby/Gems/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0', execute `gem env` for more information
from /Library/Ruby/Site/2.3.0/rubygems/dependency.rb:320:in `to_spec'
from /Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
from /usr/local/Cellar/gem-mailcatcher/0.6.5/gems/mailcatcher-0.6.5/lib/mail_catcher.rb:3:in `<top (required)>'
from /Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `require'
from /Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
from /Library/Ruby/Site/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
from /usr/local/Cellar/gem-mailcatcher/0.6.5/gems/mailcatcher-0.6.5/bin/mailcatcher:3:in `<top (required)>'
from /usr/local/bin/mailcatcher:5:in `load'
from /usr/local/bin/mailcatcher:5:in `<main>'
I'm on High Sierra, if that makes a difference. Any idea where to start looking?
I wanted to install octopress 3.0 rc, which is normally installed via
gem install octopress --pre
But
brew gem install octopress --pre
fails with
Could not find a valid gem 'octopress'
Some gems can't be used with the old version of ruby that ships on the latest OSX. Homebrew can install an alternate "system" ruby with brew install ruby
to $HOMEBREW_PREFIX/opt/ruby/bin
. It would be convenient to provide a way to detect or select that alternate ruby and prefer it over the system ruby at /usr/bin/ruby
.
It's pretty annoying to debug install errors from native extension compilation. We should try to output the contents of the failure mkmf.log when compilation fails.
gem install brew-gem
followed by brew-gem install brew-gem
, as suggested in README.md, causes the brew link
step to fail due to an existing brew-gem executable in /usr/local/bin
, which was installed by RubyGems:
$ gem install brew-gem
Fetching: brew-gem-0.7.2.gem (100%)
Successfully installed brew-gem-0.7.2
Parsing documentation for brew-gem-0.7.2
Installing ri documentation for brew-gem-0.7.2
Done installing documentation for brew-gem after 6 seconds
1 gem installed
$ brew-gem install brew-gem
==> Fetching brew-gem from gem source
Fetching: brew-gem-0.7.2.gem (100%)
Downloaded brew-gem-0.7.2
Warning: Cannot verify integrity of brew-gem-0.7.2.gem
A checksum was not provided for this resource
For your reference the SHA256 is: 7e9621043536b27d4423c40da3a71c5d1546963e671b68ecaa2d27129014d5c7
==> gem install /Library/Caches/Homebrew/brew-gem-0.7.2.gem --no-ri --no-rdoc --no-wrapper --no-user-install --install-dir /usr/local/Cellar/gem-brew-
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/brew-gem
Target /usr/local/bin/brew-gem
already exists. You may want to remove it:
rm '/usr/local/bin/brew-gem'
To force the link and overwrite all conflicting files:
brew link --overwrite gem-brew-gem
To list all files that would be deleted:
brew link --overwrite --dry-run gem-brew-gem
Possible conflicting files are:
/usr/local/bin/brew-gem
==> Summary
๐บ /usr/local/Cellar/gem-brew-gem/0.7.2: 19 files, 24K, built in 14 seconds
If you have installed brew-gem as gem, do you really need to brew-gem it? Wouldn't it be redundant? On the other hand one might want brew-gem to be in the Cellar as well...
The Warning: Cannot verify integrity of brew-gem-0.7.2.gem A checksum was not provided for this resource
warning should probably be a separate issue (like #24)... ;-)
This is the most (only?) actively maintained fork of this project. Normally when the original project disappears, we would remove the formula entirely, but there is still interest in this project, so I don't think people would like that.
I would like to point the brew-gem
formula at this repository, but I wanted to run it by you first. Any objections or concerns?
๐ any timeline for a new release? Also can you mark the 1.0.0 as the latest release vs the 0.9.0 one. Thanks!
Based on #28, currently the user has to pass "--homebrew-ruby
" for every brew gem
command in case they are using a custom Ruby install.
This request is for the default Ruby path be auto-detected from the PATH
environment variable, or otherwise be configurable (~/.brew_gem
) so that the flag can be omitted.
Ubuntu 18.04:
/usr/bin/gcc version 10
gcc-7 /home/linuxbrew/.linuxbrew/bin/gcc-7
/usr/bin/gcc-10
gcc-11 /home/linuxbrew/.linuxbrew/bin/gcc-11
brew gem install neovim
works only if you have gcc@5 preinstalled.
Now homebrew comes with /home/linuxbrew/.linuxbrew/bin/gcc version 11 not 5, but installation happens with
this command (see it in /home/linuxbrew/.linuxbrew/Cellar/gem-neovim/0.9.0/extensions/x86_64-linux/3.0.0/msgpack-1.4.2/mkmf.log): "gcc-5 ....."
I have noticed many scenarios where the flag mentioned here https://github.com/sportngin/brew-gem#troubleshooting is not getting passed in when running brew gem upgrade
or brew gem install
. I have gotten around it by doing the HOMEBREW_DEBUG=1
in the following manner:
$> HOMEBREW_DEBUG=1 brew gem install some_gem
/usr/local/Library/brew.rb (Formulary::FromPathLoader): loading /usr/local/Cellar/some_gem.rb
==> Fetching some_gem from gem source
==> gem install /Library/Caches/Homebrew/some_gem-0.0.1.gem --no-rdoc --no-ri --no-user-install --install-dir /usr/local/Cellar/some_gem/0.0.1 --bindir /usr/local/Cellar/some_gem/0.0.1/bin
Gem files will remain installed in /usr/local/Cellar/some_gem/0.0.1/gems/nokogiri-1.6.2.1 for inspection.
Results logged to /usr/local/Cellar/some_gem/0.0.1/gems/nokogiri-1.6.2.1/ext/nokogiri/gem_make.out
/usr/local/Library/Homebrew/formula.rb:611:in `system'
BuildError: Failed executing: gem install /Library/Caches/Homebrew/some_gem-0.0.1.gem --no-rdoc --no-ri --no-user-install --install-dir /usr/local/Cellar/some_gem/0.0.1 --bindir /usr/local/Cellar/some_gem/0.0.1/bin
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: 5
When you exit this shell, you will return to the menu.
bash-3.2$ ADD_SOME_ENV_FLAGS=1 gem install /Library/Caches/Homebrew/some_gem-0.0.1.gem --no-rdoc --no-ri --no-user-install --install-dir /usr/local/Cellar/some_gem/0.0.1 --bindir /usr/local/Cellar/some_gem/0.0.1/bin
Successfully installed some_gem-0.0.1
1 gems installed
nicklamuro@Nicks-Macbook-Air: some_gem-nmgD $ exit
exit
1. raise
2. ignore
3. backtrace
4. irb
5. shell
Choose an action: 2
Fixing /usr/local/Cellar/some_gem/0.0.1/bin/some_gem permissions from 644 to 555
๐บ /usr/local/Cellar/some_gem/0.0.1: 1230 files, 24M, built in 6.2 minutes
$>
The key steps here is pop into a shell (option 5) and execute the failing command, then exit the subshell, and choose "ignore" (option 2) and it should continue where it left off.
This really should be fixed, but for now this is the workaround.
You can currently only install the newest version of a gem, thats pretty annoying.
I'm trying to install Jekyll and I'm getting this error. I don't know if #50 might be related but seems similar in some aspects.
$brew gem install jekyll --homebrew-ruby
==> Fetching jekyll from gem source
Error: An exception occurred within a child process:
Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/TheLobster/Library/Caches/Homebrew/jekyll-3.8.5.gem
$env HOMEBREW_DEBUG=1 brew gem install jekyll
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromPathLoader): loading /var/folders/sv/cmvmg3h10bb03_7qqfr2m85w0000gn/T/gem-jekyll.rb
/usr/local/Homebrew/Library/Homebrew/build.rb (Formulary::FromPathLoader): loading /var/folders/sv/cmvmg3h10bb03_7qqfr2m85w0000gn/T/gem-jekyll.rb
==> Fetching jekyll from gem source
Error: An exception occurred within a child process:
Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/TheLobster/Library/Caches/Homebrew/jekyll-3.8.5.gem
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:11:in `binread'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:11:in `binread'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:11:in `magic_number'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy/fossil.rb:12:in `can_extract?'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:97:in `block in detect'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:97:in `each'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:97:in `find'
/usr/local/Homebrew/Library/Homebrew/unpack_strategy.rb:97:in `detect'
/usr/local/Homebrew/Library/Homebrew/download_strategy.rb:53:in `stage'
/usr/local/Homebrew/Library/Homebrew/resource.rb:99:in `block in unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:173:in `block in mktemp'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:55:in `block in run'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:55:in `chdir'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:55:in `run'
/usr/local/Homebrew/Library/Homebrew/resource.rb:172:in `mktemp'
/usr/local/Homebrew/Library/Homebrew/resource.rb:98:in `unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:75:in `stage'
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/forwardable.rb:202:in `stage'
/usr/local/Homebrew/Library/Homebrew/formula.rb:2062:in `stage'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1131:in `brew'
/usr/local/Homebrew/Library/Homebrew/build.rb:114:in `block in install'
/usr/local/Homebrew/Library/Homebrew/utils.rb:523:in `with_env'
/usr/local/Homebrew/Library/Homebrew/build.rb:111:in `install'
/usr/local/Homebrew/Library/Homebrew/build.rb:192:in `<main>'
Hey, thanks for this project. I have a gem installed with C-bindings. When the Homebrew Ruby is upgraded, the absolute path to the dylib files changes:
Ignoring eventmachine-1.2.7 because its extensions are not built. Try: gem pristine eventmachine --version 1.2.7
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Ignoring http_parser.rb-0.8.0 because its extensions are not built. Try: gem pristine http_parser.rb --version 0.8.0
Ignoring sassc-2.4.0 because its extensions are not built. Try: gem pristine sassc --version 2.4.0
<internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': dlopen(/usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi_c.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.3.0.dylib (LoadError)
Referenced from: /usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi_c.bundle
Reason: image not found - /usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi_c.bundle
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi.rb:5:in `rescue in <top (required)>'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi.rb:2:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc/native.rb:3:in `<top (required)>'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc.rb:31:in `require_relative'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc.rb:31:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-sass-converter-2.1.0/lib/jekyll/converters/scss.rb:3:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-sass-converter-2.1.0/lib/jekyll-sass-converter.rb:4:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-4.2.1/lib/jekyll.rb:195:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-4.2.1/exe/jekyll:8:in `<top (required)>'
from /usr/local/bin/jekyll:6:in `load'
from /usr/local/bin/jekyll:6:in `<main>'
<internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- 3.1/ffi_c (LoadError)
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/ffi-1.15.5/lib/ffi.rb:3:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc/native.rb:3:in `<top (required)>'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc.rb:31:in `require_relative'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/sassc-2.4.0/lib/sassc.rb:31:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-sass-converter-2.1.0/lib/jekyll/converters/scss.rb:3:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-sass-converter-2.1.0/lib/jekyll-sass-converter.rb:4:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-4.2.1/lib/jekyll.rb:195:in `<top (required)>'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/usr/local/Cellar/ruby/3.1.0/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /usr/local/Cellar/gem-jekyll/4.2.1/gems/jekyll-4.2.1/exe/jekyll:8:in `<top (required)>'
from /usr/local/bin/jekyll:6:in `load'
from /usr/local/bin/jekyll:6:in `<main>'
In order to fix this, I ran brew gem uninstall jekyll && brew gem install jekyll
. It would be nice to coalesce these into a single command for easier reinstallation.
10 of 13 specs fail when rspec is run outside the context of the bundle. https://gist.github.com/anonymous/79e94344c43d859f061f9edbc9942778
Not technically an issue because rspec should be run within the bundle. However, the errors are not what I would have expected:
NameError:
uninitialized constant CleanEnv::Bundler
# ./spec/support/aruba.rb:11:in `run'
# ./spec/support/aruba.rb:27:in `run_complete'
# ./spec/brew/gem_spec.rb:4:in `brew_gem'
# ./spec/brew/gem_spec.rb:7:in `block (2 levels) in <top (required)>'
# ./spec/brew/gem_spec.rb:34:in `block (3 levels) in <top (required)>'
I think it's worthwhile to investigate this error because it could be symptomatic of a deeper issue.
I didn't install homebrew in /usr/local/
So the following line causes failure when installing
rubybindir = '<%= use_homebrew_ruby ? "/usr/local/bin" : "/usr/bin" %>'
Issue #25 has been closed, however, the issue has not been resolved. Could you please reopen the issue. I have added a comment: #25 (comment) explaining why the issue has not been resolved.
Once issue #25 has been reopened, this issue (request for reopening of issue #25) can be closed.
Would it be possible to tell homebrew to treat e.g. fpm (a rubygem) as a dependency that can only be statisfied through brew-gem? Normally dependencies would be defined with depends_on
, but I'm not sure how this should work.
Fresh clone on a fresh ruby (matching .ruby-version; presently 2.3.1) with a fresh bundle-install has spec failure:
Brew::Gem
aruba environment
doesn't contain any Bundler or RVM stuff (FAILED - 1)
This test seems susceptible to users have any env vars matching GEM_
. Like, say,
GEMRC=/Users/jasonkarns/.config/gem/config
GEM_SPEC_CACHE=/usr/local/cache/gem/specs
Installing works:
brew gem install fastlane --homebrew-ruby
==> Fetching fastlane from gem source
Fetching: fastlane-2.9.0.gem (100%)
Downloaded fastlane-2.9.0
Warning: Cannot verify integrity of fastlane-2.9.0.gem
A checksum was not provided for this resource
For your reference the SHA256 is: 5dbede0e3f03daa846d3f075777632989aaabd267b3ea3be3ddf37a9dc7f9503
==> /usr/local/bin/gem install ~/Library/Caches/Homebrew/fastlane-2.9.0.gem --no-ri --no-rdoc --no-wrapper --n
๐บ /usr/local/Cellar/gem-fastlane/2.9.0: 4,004 files, 62.8M, built in 1 minute 25 seconds
But executing the binary fails:
$ fastlane init
/usr/local/Cellar/ruby/2.3.1_2/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- fastlane/cli_tools_distributor (LoadError)
from /usr/local/Cellar/ruby/2.3.1_2/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Cellar/gem-fastlane/2.9.0/gems/fastlane-2.9.0/bin/fastlane:4:in `<top (required)>'
from /usr/local/bin/fastlane:5:in `load'
from /usr/local/bin/fastlane:5:in `<main>'
after brew gem install kramdown
I have /Users/dave/brew/Cellar/gem-kramdown/1.12.0/gems/kramdown-1.12.0/man/man1/kramdown.1, but man kramdown
doesn't work.
This fixed it for me. brew-gem should do something similar automatically.
ln -s /Users/dave/brew/Cellar/gem-kramdown/1.12.0/gems/kramdown-1.12.0/man/man1/* ~/brew/share/man/man1
Presumably this is broken for info files as well.
We can us Rubygems API to fetch gem information and get the sha via
https://rubygems.org/api/v1/versions/[GEM NAME].json
I'm curious if anyone has any workarounds for deailing with brew-bundle for brew-gem installed utilities.
brew bundle dump
will dump a "formula" named gem-foo
, which then fails during a subsequent brew bundle
Has anyone attempted monkey patching support for brew-gem into brew-bundle? I'd be more interested in a format that would make the bundle install process work. If that were possible, then it would be a (fairly) simple matter of manually editing the generated Brewfile
.
HOMEBREW_VERSION: 3.6.18-54-g3e25789
Homebrew Ruby: 2.6.8 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
which -a ruby (when I removed rbenv from the env it also n/w)
/home/alessio/.rbenv/shims/ruby # 3.2.0
/home/linuxbrew/.linuxbrew/bin/ruby # 3.2.0
/usr/bin/ruby
brew gem install neovim
==> Fetching gem-neovim
==> Fetching neovim from gem source
`RubyGems' were not loaded.
`error_highlight' was not loaded.
`did_you_mean' was not loaded.
`syntax_suggest' was not loaded.
/home/linuxbrew/.linuxbrew/opt/ruby/bin/gem:8:in `require': cannot load such file -- rubygems/gem_runner (LoadError)
from /home/linuxbrew/.linuxbrew/opt/ruby/bin/gem:8:in `<main>'
==> Fetching neovim from gem source
`RubyGems' were not loaded.
`error_highlight' was not loaded.
`did_you_mean' was not loaded.
`syntax_suggest' was not loaded.
/home/linuxbrew/.linuxbrew/opt/ruby/bin/gem:8:in `require': cannot load such file -- rubygems/gem_runner (LoadError)
from /home/linuxbrew/.linuxbrew/opt/ruby/bin/gem:8:in `<main>'
Error: An exception occurred within a child process:
Errno::ENOENT: No such file or directory @ rb_sysopen - /home/user/.cache/Homebrew/neovim-0.9.0.gem
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/lunchy
Target /usr/local/bin/lunchy
is a symlink belonging to lunchy. You can unlink it:
brew unlink lunchy
To force the link and overwrite all conflicting files:
brew link --overwrite gem-lunchy
To list all files that would be deleted:
brew link --overwrite --dry-run gem-lunchy
Possible conflicting files are:
/usr/local/bin/lunchy -> /usr/local/Cellar/lunchy/0.10.4/bin/lunchy
==> Summary
:beer: /usr/local/Cellar/gem-lunchy/0.10.4: 16 files, 30.6K, built in 6 seconds
The following worked well:
brew install brew-gem
brew gem install asciidoctor-diagram
However, using asciidoctor-diagram doesn't seem to work:
asciidoctor --trace -b html5 -r asciidoctor-diagram index.adoc
Traceback (most recent call last):
10: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/bin/asciidoctor:23:in `<main>'
9: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/bin/asciidoctor:23:in `load'
8: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/bin/asciidoctor:13:in `<top (required)>'
7: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/bin/asciidoctor:13:in `new'
6: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/lib/asciidoctor/cli/invoker.rb:24:in `initialize'
5: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/lib/asciidoctor/cli/options.rb:34:in `parse!'
4: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/lib/asciidoctor/cli/options.rb:275:in `parse!'
3: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/lib/asciidoctor/cli/options.rb:275:in `each'
2: from /opt/brew/Cellar/asciidoctor/2.0.13/libexec/gems/asciidoctor-2.0.13/lib/asciidoctor/cli/options.rb:277:in `block in parse!'
1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- asciidoctor-diagram (LoadError)
What can I do to make this work?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.