Switch Ruby Version - ruby

I am using Ubuntu 18.4
Here is ruby version which is installed in my server
root#vvv:/usr/share/redmine# rvm list
=* ruby-1.9.3-p551 [ x86_64 ]
ruby-2.3.5 [ x86_64 ]
ruby-3.0.0 [ x86_64 ]
# => - current
# =* - current && default
# * - default
as you see current version is 1.9.3
But when I install redmine system, I already get a log that
/usr/lib/ruby/2.5.0/tsort.rb:228:in `block in tsort_each'
/usr/lib/ruby/2.5.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
/usr/lib/ruby/2.5.0/tsort.rb:431:in `each_strongly_connected_component_from'
/usr/lib/ruby/2.5.0/tsort.rb:349:in `block in each_strongly_connected_component'
/usr/lib/ruby/2.5.0/tsort.rb:347:in `each'
/usr/lib/ruby/2.5.0/tsort.rb:347:in `call'
/usr/lib/ruby/2.5.0/tsort.rb:347:in `each_strongly_connected_component'
/usr/lib/ruby/2.5.0/tsort.rb:226:in `tsort_each'
/usr/lib/ruby/2.5.0/tsort.rb:205:in `tsort_each'
Maybe redmine also is using ruby 2.5.0
Can you help me how to switch from 2.5.0 to 1.9.3

Related

Unable to run rubocop with ruby version managed by RVM

I am using rvm to manage ruby version. I am using ruby 2.5.0. I have also installed the rubocop gem in ruby 2.5.0. I am getting below error while running rubocop.
I could see ruby version 2.5.0 when I run rvm list. Not sure where and how rubocop still looking for ruby 2.1.
Unknown Ruby version: 2.1
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:189:in `parser_class'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:197:in `create_parser'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:154:in `parse'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:36:in `initialize'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:17:in `new'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/processed_source.rb:17:in `from_file'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:349:in `get_processed_source'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:118:in `block in file_offenses'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:137:in `file_offense_cache'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:117:in `file_offenses'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:105:in `process_file'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:82:in `block in each_inspected_file'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:81:in `each'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:81:in `reduce'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:81:in `each_inspected_file'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:73:in `inspect_files'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/runner.rb:39:in `run'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/cli.rb:210:in `execute_runner'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/cli.rb:80:in `execute_runners'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/lib/rubocop/cli.rb:51:in `run'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/exe/rubocop:13:in `block in <top (required)>'
~/.rvm/rubies/ruby-2.5.0/lib/ruby/2.5.0/benchmark.rb:308:in `realtime'
~/.rvm/gems/ruby-2.5.0/gems/rubocop-0.68.1/exe/rubocop:12:in `<top (required)>'
~/.rvm/gems/ruby-2.5.0/bin/rubocop:23:in `load'
~/.rvm/gems/ruby-2.5.0/bin/rubocop:23:in `<main>'
~/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in `eval'
~/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in `<main>'
Creating a ruboco.yml in the project root directory and adding the below line fixed the issue.
Ref
AllCops:
TargetRubyVersion: 2.5.0

vagrant-librarian-chef requires ruby version >= 2.0 public_suffix in ubuntu

I try to run following command:
vagrant plugin install vagrant-librarian-chef
Installing the 'vagrant-librarian-chef' plugin. This can take a few minutes...
/usr/lib/ruby/1.9.1/rubygems/installer.rb:388:in `ensure_required_ruby_version_met': public_suffix requires Ruby version >= 2.0. (Gem::InstallError)
from /usr/lib/ruby/1.9.1/rubygems/installer.rb:156:in `install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index'
from /usr/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:65:in `block in call'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
from /usr/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui'
from /usr/share/vagrant/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:52:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/share/vagrant/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:in `call'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `block in run'
from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:in `busy'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:69:in `run'
from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:17:in `action'
from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:27:in `execute'
from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:56:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:38:in `execute'
from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:484:in `cli'
from /usr/bin/vagrant:127:in `<main>'
I am trying this on Ubuntu 14.04
I have been able to sucessfully install the following vagrant plugins:
vagrant-vbguest
vagrant-omnibus
vagrant-triggers
vagrant-hostmanager
As far as I can read there, you are using ruby 1.9.1 and the error message is that you need at least ruby 2.0 for that plugin.
Try updating ruby to a newer version. Also try using a tool like rbenv to manage multiple ruby versions, in case you need ruby 1.9.1 for future projects.

Error when compiling assets on the production server

I tried to deploy my Rails application with Capistrano, and got the following error:
NoMethodError: undefined method `to_h' for nil:NilClass
Here is the stack trace, which looks like it may be a Sprockets issue, but I can't figure out why:
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:14:in `configuration_hash'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:40:in `configuration_hash'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:44:in `initialize'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:21:in `new'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:21:in `instance'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-es6-0.9.0/lib/sprockets/es6.rb:34:in `call'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:75:in `call_processor'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `call_processors'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:60:in `block in load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:44:in `load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `yield'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `default'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/bundle.rb:23:in `block in call'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/utils.rb:183:in `dfs'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/bundle.rb:24:in `call'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:75:in `call_processor'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/processor_utils.rb:56:in `call_processors'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:60:in `block in load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:318:in `fetch_asset_from_dependency_cache'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/loader.rb:44:in `load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `yield'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `default'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/cached_environment.rb:47:in `load'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/base.rb:66:in `find_asset'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/base.rb:73:in `find_all_linked_assets'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/manifest.rb:142:in `block in find'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/legacy.rb:114:in `block (2 levels) in logical_paths'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/path_utils.rb:225:in `block in stat_tree'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/path_utils.rb:209:in `block in stat_directory'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/path_utils.rb:206:in `each'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/path_utils.rb:206:in `stat_directory'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/path_utils.rb:224:in `stat_tree'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/legacy.rb:105:in `each'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/legacy.rb:105:in `block in logical_paths'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/legacy.rb:104:in `each'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/legacy.rb:104:in `logical_paths'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/manifest.rb:140:in `find'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/sprockets/manifest.rb:168:in `compile'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-3.5.2/lib/rake/sprocketstask.rb:147:in `with_logger'
/var/www/paperless_office/shared/bundle/ruby/1.9.1/gems/sprockets-rails-2.3.3/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
Tasks: TOP => assets:precompile
This is my local environment:
OSX 10.11.3
Ruby 2.1.3p242
Rails 4.1.0
Rake 10.3.2
Sprockets-Rails 2.3.3
Capistrano 3.4.0
This is my production environment:
Centos 5
ruby 2.1.3p242 (managed by rbenv)
My currently installed gems are:
bigdecimal (1.2.4)
bundler (1.11.2)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.5)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.3.0)
I have been able to run:
gem install bundler
However, if I run:
gem install rails
I get:
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Service Unavailable 503 (https://api.rubygems.org/api/v1/dependencies?gems=rack)
Is this is linked to my initial question?
For anyone coming across this, the problem was fixed thanks to the link posted by #DavidK-J which pointed me in the right direction. I needed to update the cap files with the settings for rbenv as follows:
Capfile
require 'capistrano/rbenv'
deploy.rb
set :rbenv_type, :system
set :rbenv_path, '~/.rbenv'
set :rbenv_ruby, "2.1.3"
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=#{fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec"
set :rbenv_map_bins, %w{rake gem bundle ruby rails}
set :rbenv_roles, :all
I then had to update passenger's config with the path to rbenv which in my case was:
~/.rbenv
HTH someone else.
Paul

Cant install Vagrant Plugin - Gem Failing

Trying to install the vagrant-digitalocean plugin for vagrant, but its having an issue install the gems required for it.
Installing the 'vagrant-digitalocean' plugin. This can take a few minutes...
/opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:562:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/opt/vagrant/embedded/bin/ruby extconf.rb
creating Makefile
make
compiling generator.c
In file included from /opt/vagrant/embedded/include/ruby-1.9.1/ruby.h:32:0,
from ../fbuffer/fbuffer.h:5,
from generator.c:1:
/opt/vagrant/embedded/include/ruby-1.9.1/ruby/ruby.h:105:14: error: size of array ‘ruby_check_sizeof_long’ is negative
/opt/vagrant/embedded/include/ruby-1.9.1/ruby/ruby.h:109:14: error: size of array ‘ruby_check_sizeof_voidp’ is negative
In file included from /opt/vagrant/embedded/include/ruby-1.9.1/ruby/intern.h:43:0,
from /opt/vagrant/embedded/include/ruby-1.9.1/ruby/ruby.h:1383,
from /opt/vagrant/embedded/include/ruby-1.9.1/ruby.h:32,
from ../fbuffer/fbuffer.h:5,
from generator.c:1:
/opt/vagrant/embedded/include/ruby-1.9.1/ruby/st.h:67:14: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative
make: *** [generator.o] Error 1
Gem files will remain installed in /home/aaron/.vagrant.d/gems/gems/json-1.8.0 for inspection.
Results logged to /home/aaron/.vagrant.d/gems/gems/json-1.8.0/ext/json/ext/generator/gem_make.out
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:540:in `block in build_extensions'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:515:in `each'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:515:in `build_extensions'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/installer.rb:180:in `install'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:297:in `block in install'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `each_with_index'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/dependency_installer.rb:270:in `install'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/action/install_gem.rb:49:in `block in call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/gem_helper.rb:42:in `block in with_environment'
from /opt/vagrant/embedded/lib/ruby/1.9.1/rubygems/user_interaction.rb:40:in `use_ui'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/gem_helper.rb:41:in `with_environment'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/action/install_gem.rb:39:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/action/bundler_check.rb:20:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/action/warden.rb:34:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/action/builder.rb:116:in `call'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/action/runner.rb:61:in `block in run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/util/busy.rb:19:in `busy'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/action/runner.rb:61:in `run'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/command/base.rb:17:in `action'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/command/install.rb:44:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/plugins/commands/plugin/command/root.rb:47:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/cli.rb:46:in `execute'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/lib/vagrant/environment.rb:478:in `cli'
from /opt/vagrant/embedded/gems/gems/vagrant-1.2.7/bin/vagrant:84:in `<top (required)>'
from /opt/vagrant/bin/../embedded/gems/bin/vagrant:23:in `load'
from /opt/vagrant/bin/../embedded/gems/bin/vagrant:23:in `<main>'
This happened to me when I installed an i686 version of Vagrant on my Ubuntu x86_64 machine. Unfortunately, both version would install successfully but the wrong version would fail in this confusing way.
I was having issues with installing plugins with similar errors.
What fixed all the issues for me was updating to:
Vagrant 1.7.2
http://www.vagrantup.com/downloads
Ruby 2.2.0
Instructions: http://ryanbigg.com/2014/10/ubuntu-ruby-ruby-install-chruby-and-you
Note: Just don't use his copy-paste instructions they are messed up, link over to the README files he has the links right above his copy-paste snippets.
This 100% fixed all my plugin install issues.
PS: Use sudo vagrant plugin install

Problems building ember.js from master branch

I'm on a macbook pro with OSX 10.7.5 installed, I've tried several times to build ember.js following the the steps on the github page, basically running "rake dist" in the cloned repository. But it does not work. Please find below my console output when I run "rake dist". Since I'm not a ruby expert I wonder if someone can point me in some direction since I don't understand the error that is preventing me to build ember.js.
[ alex#io ][ ~/workspace/ember.js ][ master ]
➜ rake dist --trace
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/rake_module.rb:25: warning: redundant nested repeat operator
** Invoke dist (first_time)
** Execute dist
Building Ember...
rake aborted!
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:142:in `exec_runtime'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec'
/Users/alex/.bundler/ruby/1.9.1/uglifier-2f6c31a67d6d/lib/uglifier.rb:137:in `really_compile'
/Users/alex/.bundler/ruby/1.9.1/uglifier-2f6c31a67d6d/lib/uglifier.rb:74:in `compile'
/Users/alex/.bundler/ruby/1.9.1/uglifier-2f6c31a67d6d/lib/uglifier.rb:47:in `compile'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-web-filters-1a6dc173776b/lib/rake-pipeline-web-filters/uglify_filter.rb:62:in `block in generate_output'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-web-filters-1a6dc173776b/lib/rake-pipeline-web-filters/uglify_filter.rb:58:in `each'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-web-filters-1a6dc173776b/lib/rake-pipeline-web-filters/uglify_filter.rb:58:in `generate_output'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/filter.rb:218:in `block (3 levels) in generate_rake_tasks'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/file_wrapper.rb:135:in `create'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/filter.rb:218:in `block (2 levels) in generate_rake_tasks'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:228:in `call'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:228:in `block in execute'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:223:in `each'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:223:in `execute'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:166:in `block in invoke_with_call_chain'
/Users/alex/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:159:in `invoke_with_call_chain'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/dynamic_file_task.rb:154:in `invoke_with_call_chain'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:152:in `invoke'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/dynamic_file_task.rb:60:in `invoke'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline.rb:328:in `block (2 levels) in invoke'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline.rb:328:in `each'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline.rb:328:in `block in invoke'
:10:in `synchronize'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline.rb:321:in `invoke'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/project.rb:126:in `each'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/project.rb:126:in `block in invoke'
:10:in `synchronize'
/Users/alex/.bundler/ruby/1.9.1/rake-pipeline-50b8d77b703c/lib/rake-pipeline/project.rb:112:in `invoke'
/Users/alex/workspace/ember.js/Rakefile:43:in `block in '
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:228:in `call'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:228:in `block in execute'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:223:in `each'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:223:in `execute'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:166:in `block in invoke_with_call_chain'
/Users/alex/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:159:in `invoke_with_call_chain'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/task.rb:152:in `invoke'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:143:in `invoke_task'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:101:in `block (2 levels) in top_level'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:101:in `each'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:101:in `block in top_level'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:110:in `run_with_threads'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:95:in `top_level'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:73:in `block in run'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/lib/rake/application.rb:70:in `run'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/gems/rake-0.9.6/bin/rake:37:in `'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/bin/rake:19:in `load'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/bin/rake:19:in `'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `eval'
/Users/alex/.rvm/gems/ruby-1.9.3-p362/bin/ruby_noexec_wrapper:14:in `'
Tasks: TOP => /Users/alex/workspace/ember.js/tmp/rake-pipeline-7aa53b2ead15d9e299f5cd1196d85943d735c070/rake-pipeline-3-tmp-7/ember-runtime.min.js
and here is the output when I run bundle install inside the root directory of the repo at the master branch
➜ bundle install
Using rake (0.9.6)
Using colored (1.2)
Using multi_json (1.3.7)
Using execjs (1.4.0)
Using multipart-post (1.1.5)
Using faraday (0.8.4)
Using hashie (1.2.0)
Using nokogiri (1.5.5)
Using httpauth (0.2.0)
Using jwt (0.1.5)
Using rack (1.4.1)
Using oauth2 (0.8.0)
Using github_api (0.8.1)
Using mime-types (1.19)
Using rest-client (1.6.7)
Using github_downloads (0.1.3) from https://github.com/pangratz/github_downloads.git (at master)
Using json (1.7.6)
Using listen (0.6.0)
Using kicker (2.6.1)
Using thor (0.16.0)
Using rake-pipeline (0.8.0) from https://github.com/livingsocial/rake-pipeline.git (at master)
Using rake-pipeline-web-filters (0.6.0) from https://github.com/wycats/rake-pipeline-web-filters.git (at master)
Using uglifier (1.3.0) from https://github.com/lautis/uglifier.git (at master)
Using bundler (1.2.3)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Thanks in advance,
Alex
Do you have nodejs installed?
From docs ...
If you are building under Linux, you will need a JavaScript runtime for minification. You can either install nodejs or gem install therubyracer.
Assume it might be the same for Mac
I got it working:
export RUBYOPT='-E utf-8'
did the trick.
I'm going to close the question.

Resources