I am a Ruby noob (rube?) and am having trouble configuring my environment to get rake to build something with a Java dependency.
I run
$ PATH=/tmp/jruby-dodge:"$PATH" rake
and get
/opt/local/bin/ruby -S rspec spec/contextual_spec.rb
/opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- java (LoadError)
from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/msamuel/work/igrigorik/contextual/lib/contextual/contextual.rb:1
from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/msamuel/work/igrigorik/contextual/lib/contextual.rb:2
from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /Users/msamuel/work/igrigorik/contextual/spec/contextual_spec.rb:1
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `autorun'
from /opt/local/bin/rspec:19
rake aborted!
/opt/local/bin/ruby -S rspec spec/contextual_spec.rb failed
Tasks: TOP => default => spec
(See full trace by running task with --trace)
The PATH=/tmp/jruby-dodge:... makes sure that which ruby actually resolves to a symlink to /opt/local/bin/jruby.
Is "no such file to load -- java" related to jruby at all? java -version emits java version "1.6.0_29" so I don't think there is a failure to start up a JVM.
When using rake to build something with Java dependencies for use under jruby, does it matter whether rake is running under jruby or ruby? If so, how do I specify that?
It looks like rvm lets me juggle multiple rubies.
Installing RVM explains how to install it.
rvm install jruby
makes sure rvm knows about jruby.
rvm use jruby
updates the environment so that ruby means jruby.
Gems seem to be installed per-flavor of ruby.
Related
While running pod init on my Xcode Project, I come across a problem in the terminal with the following message:
Ignoring ffi-1.15.0 because its extensions are not built. Try: gem pristine ffi --version 1.15.0
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:128:in `git_version': Failed to extract git version from `git --version` ("xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun\n") (RuntimeError)
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:140:in `verify_minimum_git_version!'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:49:in `run'
from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/bin/pod:55:in `<top (required)>'
from /usr/local/bin/pod:23:in `load'
from /usr/local/bin/pod:23:in `<main>'
"
I've tried running gem pristine ffi --version 1.15.0" and that gives me the following
message: "Ignoring ffi-1.15.0 because its extensions are not built. Try: gem pristine ffi --version 1.15.0
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
If you have any suggestions please let me know, thanks.
I'm using a Azure Devops Pipeline to build my Jekyll Blog Site and to publish it to Azure Blob Storage. It has of late been working OK, but I did a new post today and it failed in the Build step. All worked Ok a day or so ago. Nb: The build is triggered by a commit to to the Devops repository. The site built OK locally.
Generating script.
Script contents:
bundle exec jekyll build
========================== Starting Command Output ===========================
"C:\windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\3f5d7781-f35f-48db-b750-9feccaae9bb5.cmd""
C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/html.rb:10:in `require': cannot load such file -- rexml/parsers/baseparser (LoadError)
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/html.rb:10:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown/html.rb:10:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown/html.rb:10:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown/paragraph.rb:14:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown/paragraph.rb:14:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown.rb:345:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown.rb:345:in `<class:Kramdown>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown.rb:60:in `<module:Parser>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown.rb:19:in `<module:Kramdown>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/kramdown-1.17.0/lib/kramdown/parser/kramdown.rb:17:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll/converters/smartypants.rb:3:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll/converters/smartypants.rb:3:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll.rb:13:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll.rb:13:in `block in require_all'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll.rb:12:in `each'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll.rb:12:in `require_all'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/lib/jekyll.rb:194:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/exe/jekyll:8:in `require'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/lib/ruby/gems/3.0.0/gems/jekyll-3.8.7/exe/jekyll:8:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/bin/jekyll:23:in `load'
from C:/hostedtoolcache/windows/Ruby/3.0.0/x64/bin/jekyll:23:in `<main>'
##[error]Cmd.exe exited with code '1'.
Finishing: Build
I removed the post and recommited and it still failed.
The Build script in the Pipeine is:
bundle exec jekyll build
My gemfile follows
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 3.8.5"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
# gem "minima", "~> 2.0"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0" if Gem.win_platform?
# https://github.com/pmarsceill/just-the-docs
# gem "just-the-docs"
# https://github.com/pages-themes/leap-day
gem "jekyll-theme-leap-day"
# https://github.com/jekyll/jekyll-seo-tag
gem 'jekyll-seo-tag'
gem 'jekyll-paginate'
# https://www.r-bloggers.com/creating-an-rss-feed-to-add-your-jekyll-github-pages-blog-to-r-bloggers/#:~:text=%20Creating%20an%20RSS%20Feed%20to%20Add%20Your,put%20the%20.xml%20file%20in%20the...%20More%20
# gem 'jekyll-feed'
gem "webrick"
The pipeline scripts:
Pipeline: Agent pool: Hosted VS2017
Get Resources: The repository, Master Branch, also tried a branch gleaned for earlier submit. Clean:False
Use Ruby>-2.4: Version Spec >=2.4 AddToPath is checked
Install Jekyll and bundler: gem install jekyll bundler
Install Gems: bundle install
Build: bundle exec jekyll build
Following steps are Copy Site and Publish Artifact
Azure Devops Pipelline Jekyll Build Failure
If you are using the private agent, please try to following steps to resolve this error:
Running bundle info kramdown will give you the path to where kramdown
has been installed.
Run gem env to get an insight on all paths Ruby is concerned about.
If the directory where kramdown got installed from above isn't listed
in the gem env output, you'll have to manually add that path
If you are using the hosted agent, please try to reference following suggestions:
Add gem "webrick" to the Gemfile in your website. Than run bundle install
At this point you can run bundle exec jekyll build
I played around with the Ruby Version. Found if I set that script Version Spec to:
<3.0
it worked! :)
I'm trying to convert an old project from cap2 to cap3. After deleting the old Capfile, running cap install gives me:
$ cap install
(Backtrace restricted to imported tasks)
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb, Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/bin/cap:3:in `<main>'
(See full trace by running task with --trace)
isn't the install command meant to create the Capfile?
I get the same error if I run the cap install command on a new project (= empty folder).
I'm using version 3.4.0.
I setup a test environment and re-produced the error:
$ cap install
(Backtrace restricted to imported tasks)
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb, Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/bin/cap:3:in `<main>'
(See full trace by running task with --trace)
$ cap --trace install
cap aborted!
No Rakefile found (looking for: capfile, Capfile, capfile.rb, Capfile.rb, /usr/lib/ruby/vendor_ruby/Capfile)
/usr/lib/ruby/vendor_ruby/rake/application.rb:684:in `raw_load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `block in load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:93:in `load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:77:in `block in run'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:75:in `run'
/usr/lib/ruby/vendor_ruby/capistrano/application.rb:15:in `run'
/usr/bin/cap:3:in `<main>'
Located Capfile and ran the command
$ cap --rakefile /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile install
mkdir -p config/deploy
create config/deploy.rb
create config/deploy/staging.rb
create config/deploy/production.rb
mkdir -p lib/capistrano/tasks
create Capfile
Capified
It works.
I had the same problem, my capistrano used to work fine, but something happened. I believe i updated my ruby in some moment and the capistrano stopped to work. So when i ran cap install the result was:
So i discovered that the Capfile changed directory, from /usr/lib/ruby/vendor_ruby/Capfile to /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile. So to work i used the command cap --rakefile /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile install and it worked for me.
If you have installed Ruby & Capistrano for debian package then the Capfile can be now found in directory /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile. So use the command cap --rakefile /usr/lib/ruby/vendor_ruby/capistrano/templates/Capfile install indicating the right path to Capfile.
$ rbenv rehash
Since I am using rbenv, the above command worked for me!
I want to use rjb to invoke the standford parser . I have managed to install the gem for rjb and set the JAVA_HOME path as suggested in the rjb website.
gem install rjb
Building native extensions. This could take a while...
Successfully installed rjb-1.4.3
1 gem installed
Installing ri documentation for rjb-1.4.3...
Installing RDoc documentation for rjb-1.4.3...
[root#avinash shoutout_railsengine]# ruby -v -e "p ENV['JAVA_HOME']"
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
"/usr/java/jdk1.7.0/"
[root#avinash shoutout_railsengine]# ruby -v -e "p ENV['JAVA_HOME']"
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
"/usr/java/jdk1.7.0/"
[root#avinash shoutout_railsengine]# ruby -v -e "p ENV['JAVA_HOME']"
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
"/usr/java/jdk1.7.0/"
[root#avinash shoutout_railsengine]# ruby -d -rubygems -rrjb -e 'Rjb::load'
Exception `LoadError' at <internal:lib/rubygems/custom_require>:29 - no such file to load -- rubygems/defaults/operating_system
Exception `LoadError' at <internal:lib/rubygems/custom_require>:37 - no such file to load -- rubygems/defaults/operating_system
Exception `LoadError' at <internal:lib/rubygems/custom_require>:29 - no such file to load -- rubygems/defaults/ruby
Exception `LoadError' at <internal:lib/rubygems/custom_require>:37 - no such file to load -- rubygems/defaults/ruby
Exception `LoadError' at <internal:lib/rubygems/custom_require>:29 - no such file to load -- rjb
Exception `LoadError' at <internal:lib/rubygems/custom_require>:37 - no such file to load -- rjb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- rjb (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
[root#avinash shoutout_railsengine]# irb
irb(main):001:0> require 'rjb'
LoadError: no such file to load -- rjb
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from (irb):1
from /usr/local/bin/irb:12:in `<main>'
Can someone tell me what is the problem ?
Try require 'rubygems' before require 'rjb'
following instructions for installing Gitorious on RHEL
When trying to run rake gems:install I get the following trace:
gitorious]$ sudo /opt/ruby-enterprise/bin/rake gems:install --trace
(in /var/www/html/gitorious)
rake aborted!
Bundler couldn't find some gems. Did you run `bundle install`?
/var/www/html/gitorious/config/../config/preinitializer.rb:18
/var/www/html/gitorious/config/boot.rb:28:in `load'
/var/www/html/gitorious/config/boot.rb:28:in `preinitialize'
/var/www/html/gitorious/config/boot.rb:10:in `boot!'
/var/www/html/gitorious/config/boot.rb:123
/opt/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/opt/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
/var/www/html/gitorious/Rakefile:4
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/opt/ruby-enterprise/bin/rake:19:in `load'
/opt/ruby-enterprise/bin/rake:19
I saw that you needed to put the gitorious.yml config directives under 'production:'. Not sure what to do next. I'm not a rubyist.
Any suggestions?
Sam,
The problem here seems to be that the RHEL guide is outdated. Gitorious has moved to using Bundler for its Ruby dependencies, which actually makes things a lot simpler. What you should do is:
Install the bundler gem (gem install bundler)
Go into the Gitorious root and run bundle install
This should fix all Ruby dependencies. There's some more information about this change in the blog.