I’m not sure if this is the right place to post this, so my apologies if not.
I’m trying to install instiki on a new Dreamhost account. Since I don’t have super-user access, I can’t follow the usual instructions, and instead tried to follow the hosted services instructions, but I’m having some difficulties.
The first issue is that if I follow the instructions and try
$ ./instiki
I get an error message containing the line
‘ruby_20’ is not a valid platform
I edited the Gemfile replacing the string
[:ruby_20, :ruby_21, :ruby_22]
with the string
[:ruby]
Then when I run
$ ./instiki
I get the following:
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from ./config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
=> Booting Thin
=> Rails 2.3.18 application starting on http://0.0.0.0:2500
/home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require': /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:263: invalid regular expression; [:word:] is not a character class: /[[:word:]]/ (SyntaxError)
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:267: invalid regular expression; [:word:] is not a character class: /[[:word:]]/
from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku.rb:91
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `each'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `require'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `each'
from /usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `require'
from /usr/lib/ruby/vendor_ruby/bundler.rb:120:in `require'
from ./config/boot.rb:130:in `load_gems'
from ./config/../vendor/rails/railties/lib/initializer.rb:164:in `process'
from ./config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
from ./config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
from /home/myusername/mydomainname.org/config/environment.rb:14
from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:547:in `new_constants_in'
from /home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:182:in `require'
from /home/myusername/mydomainname.org/config.ru:3
from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
from /home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
from /home/myusername/mydomainname.org/config.ru:1:in `new'
from /home/myusername/mydomainname.org/config.ru:1
from ./instiki:6:in `eval'
from ./script/server:86
from ./instiki:6:in `load'
from ./instiki:6
If I go to http://mydomainname.org I get the error message:
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:263: invalid regular expression; [:word:] is not a character class: /[[:word:]]/
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb:267: invalid regular expression; [:word:] is not a character class: /[[:word:]]/ (SyntaxError)
/home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/home/myusername/mydomainname.org/vendor/rails/activesupport/lib/active_support/dependencies.rb:184:in `require'
/home/myusername/mydomainname.org/vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku.rb:91
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:68:in `require'
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `each'
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:66:in `require'
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `each'
/usr/lib/ruby/vendor_ruby/bundler/runtime.rb:55:in `require'
/usr/lib/ruby/vendor_ruby/bundler.rb:120:in `require'
./config/boot.rb:130:in `load_gems'
./config/../vendor/rails/railties/lib/initializer.rb:164:in `process'
./config/../vendor/rails/railties/lib/initializer.rb:113:in `send'
./config/../vendor/rails/railties/lib/initializer.rb:113:in `run'
./config/environment.rb:14
config.ru:3:in `require'
config.ru:3
/usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `instance_eval'
/usr/lib/ruby/vendor_ruby/rack/builder.rb:51:in `initialize'
config.ru:1:in `new'
config.ru:1
I’m not sure what to do at this point. If it helps, I’m using ruby 1.8.7, Rails 3.0.3, bundler 1.10.6
On the other hand, if you’re just using ASCII characters, you can replace [[:word:]] with \w on lines 263 and 267 of vendor/bundle/ruby/1.8/bundler/gems/maruku-aa33367fa89e/lib/maruku/input/parse_span.rb and not run into any problems.
Thanks for the help. I emailed the the folks at Dreamhost (who seem quite helpful), and they sent me this back.
I switched his ruby version to < 2.0 (the error he was getting was an issue with bundler and that ruby version). I then replaced the word string with /w as dictacted in the forum he linked us to and ran d a bundle install with the new ruby version. Now his site is getting this:
They suggested I bring this error back to the boards here to see if you knew what was going on. When I run
$ ./instiki --daemon
I get the following:
/home/myusername/mydomainname.org/vendor/rails/railties/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path': undefined method `source_index' for Gem:Module (NoMethodError)
from /home/myusername/mydomainname.org/config/boot.rb:62:in `load_initializer'
from /home/myusername/mydomainname.org/config/boot.rb:126:in `run'
from /home/myusername/mydomainname.org/config/boot.rb:26:in `boot!'
from /home/myusername/mydomainname.org/config/boot.rb:139:in `<top (required)>'
from /home/myusername/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/myusername/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/myusername/mydomainname.org/script/server:3:in `<top (required)>'
from ./instiki:6:in `load'
from ./instiki:6:in `<main>'
I’m sorry. I am quite confused as to your configuration.
In your first message, you indicated that
You had willy-nilly modified your Gemfile. Did you revert that modification before trying again?
Your Ruby version was 1.8.7.
Now you tell me that progress was made by downgrading your Ruby version to “<2.0”?!?
That said, I sorta understand the error about Gem.source_index. The version(s) of Rubygems which came with Ruby < 2.0 had that method. Later versions do not. So there’s a monkey-patch in config/boot.rb to supply the missing method for Ruby ≥ 2.0.
Evidently, you have the odd combination of an old (1.9.3) version or Ruby and a recent version of Rubygems.
Maybe you should start again with
an unmodified installation of Instiki.
a recent version of Ruby: I recommend 2.1 or 2.2.
Run ruby bundle install and see what happens. If that fails, post your errors here. If it succeeds, but then ./instiki fails, post your Gemfile.lock, so we can see what got installed.
I edited the Gemfile because following the instiki Hosted Services instructions caused an error, and google searching the error for a while turned up the suggestion to make the modification the the Gemfile. It seemed to make progress, but maybe not.
Ruby 1.8.7 seems to be the default version on Dreamhost, and so I think because you wrote
Hmmm. I’m afraid that Maruku no longer supports Ruby 1.8.x (which is EOL). I think you need at least Ruby 1.9.3.
they upgraded me from 1.8.7 to 1.9.3, but not to 2.x (at least, I’m assuming that’s an upgrade). Later today I’ll try to uninstall everything, and start from scratch, although if I want to run Ruby 2.1 or 2.2 I think I’m going to have to build it from source, which I don’t know how to do yet. I’m used to installing via yum/apt-get, so if you could point me to a link to build from source, that would be helpful. If not, I’ll figure try to figure it out on my own, and post the output here.
“… although if I want to run Ruby 2.1 or 2.2 I think I’m going to have to build it from source, which I don’t know how to do yet.”
Build Ruby from source? I don’t think you want to do that (unless you really have to). It would be better to have a known-working version of Ruby, so that we don’t have to debug possible problems in your Ruby installation as well (well, OK, technically we are already doing that, since your versions of Ruby and Rubgems aren’t totally compatible).
Instiki should work fine with Ruby 1.9.3, if that’s really the most recent version you have access to. We’d just need to modify a line in config/boot.rb to take care your problem with Rubygems.
Okay, I have a fresh account to start with. I set up passenger, backed up all files and folders in ~/BACKUP/ and I’ve done nothing else with the clean account.
There aren’t any options that are completely obvious to me (e.g. one click/command install/update etc.). Google searching a bit turns up the following.
I tried following the instructions to install rbenv and got stuck at the line
$ bundle install
as it gives the error (in red)
Could not locate Gemfile or .bundle/ directory
I found a Gemfile in a couple of subdirectories of ~/.rbenv/ but it’s not in my ~/websitename/ directory, which is where the script was supposed to be run from. I posted the same question on the forum/comments section there, but it looks like it’s been a year since the guy responded last, so I’m not sure if I’ll get a response. Any thoughts?
[EDIT:] I should add that I was trying to install Ruby 2.2.0
OK. So let’s assume you’ve gotten that far correctly. cd to your Instiki directory and try
ruby --version
ruby bundle install
The first command should return the version of Ruby you’re using (hopefully 2.2). The second should run the included version of Bundler (as opposed to the one you installed via rbenv).
The whole point of rbenv (or rvm) is to set up your paths correctly so that, when you type ruby, you get the desired executable. I don’t know anything about Dreamhost, and didn’t really read the rbenv installation instructions that you followed, but evidently they didn’t quite achieve the desired result.