Forum: Ruby RubyGems issues

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ff86e81d51f51262151d73da1c84bbc0?d=identicon&s=25 Bill Atkins (Guest)
on 2006-03-01 18:08
(Received via mailing list)
Here are some issues I've noticed with RubyGems' user interface:

   - Why do I have to confirm each _required_ dependency?  What chance
     is there of leaving off a required dependency and still having a
     functioning install?

   - Why does each confirmation happen individually?  It would make
     sense to confirm or reject _all_ required dependencies and thus
     abort the install, but I can't see any reason for the current way
     of doing things.  At the very least, why can't it find all the
     dependencies for the current package so that I can hit 'Y'
     repeatedly, instead of waiting a second or two for it to find the
     next dependency?

   - Why do i have to specify -r on the command line to build
     remotely?  I understand that local gem installations are possible
     (and maybe even common), but wouldn't it make sense for gem to
     assume that "gem install rails" is a remote install and "gem
     install rails.gem" is a local install?  In this case it wouldn't
     have to bother with this "attempting local installation"
     business.

   - Why on earth, on earth, on earth is the package's documentation
     built locally?  It is by far the lengthiest part of the install,
     and I can see no good reason why this couldn't be done at gem
     build-time.  Am I missing something here?  How could the
     documentation differ from one machine to the next such that this
     approach would make sense?

   - When there are warnings in the documentation building, why do
     these appear last, making it seem that there were problems in
     installing the gem itself?

   - Why so little output while installing?  Can't i at least pass a
     -v flag to get a better indication of what's actually happening?
     It would certainly make gem installs seem more responsive.

I don't use gems that often, but whenever I do, I remember these
problems and get deeply frustrated.  If gems is going to be included
in the next Ruby release, it can't hurt to at least have some of these
issues considered and either fixed or debunked.

 - a crotchety old RPA-user
Bf6862e2a409078e13a3979c00bba1d6?d=identicon&s=25 Gregory Seidman (Guest)
on 2006-03-01 18:21
(Received via mailing list)
On Thu, Mar 02, 2006 at 02:08:37AM +0900, Bill Atkins wrote:
}
} Here are some issues I've noticed with RubyGems' user interface:
}
}    - Why do I have to confirm each _required_ dependency?  What chance
}      is there of leaving off a required dependency and still having a
}      functioning install?

That is a bit weird.

}    - Why does each confirmation happen individually?  It would make
}      sense to confirm or reject _all_ required dependencies and thus
}      abort the install, but I can't see any reason for the current way
}      of doing things.  At the very least, why can't it find all the
}      dependencies for the current package so that I can hit 'Y'
}      repeatedly, instead of waiting a second or two for it to find the
}      next dependency?

There's a flag you can give that will just automatically install all the
dependencies.

}    - Why do i have to specify -r on the command line to build
}      remotely?  I understand that local gem installations are possible
}      (and maybe even common), but wouldn't it make sense for gem to
}      assume that "gem install rails" is a remote install and "gem
}      install rails.gem" is a local install?  In this case it wouldn't
}      have to bother with this "attempting local installation"
}      business.

If you don't specify the -r then it searches locally first, but it will
install from remote if it doesn't find it.

}    - Why on earth, on earth, on earth is the package's documentation
}      built locally?  It is by far the lengthiest part of the install,
}      and I can see no good reason why this couldn't be done at gem
}      build-time.  Am I missing something here?  How could the
}      documentation differ from one machine to the next such that this
}      approach would make sense?

The documentation need not be part of the bandwidth required if it can
be
generated locally. In general, bandwidth is more precious than CPU time.
Also, you don't have to have the docs generated at all, which saves time
and disk space.

}    - When there are warnings in the documentation building, why do
}      these appear last, making it seem that there were problems in
}      installing the gem itself?
}
}    - Why so little output while installing?  Can't i at least pass a
}      -v flag to get a better indication of what's actually happening?
}      It would certainly make gem installs seem more responsive.

These are real issues.

} I don't use gems that often, but whenever I do, I remember these
} problems and get deeply frustrated.  If gems is going to be included
} in the next Ruby release, it can't hurt to at least have some of these
} issues considered and either fixed or debunked.

Eh, that's nothing. I wound up writing a shell script over 100 lines
long
to get it to install itself and all subsequent gems in /usr/local. I'd
really like that to be fixed.

}  - a crotchety old RPA-user
--Greg
10d4acbfdaccb4eee687a428ca00a5d8?d=identicon&s=25 Jim Weirich (weirich)
on 2006-03-01 20:13
Bill Atkins wrote:
> Here are some issues I've noticed with RubyGems' user interface:
>
>    - Why do I have to confirm each _required_ dependency?  What chance
>      is there of leaving off a required dependency and still having a
>      functioning install?

Quite good if you've installed some software as non-gems.  That being
said, it is probably an edge case and you make a good point.

>    - Why does each confirmation happen individually?  It would make
>      sense to confirm or reject _all_ required dependencies and thus
>      abort the install, but I can't see any reason for the current way
>      of doing things.  At the very least, why can't it find all the
>      dependencies for the current package so that I can hit 'Y'
>      repeatedly, instead of waiting a second or two for it to find the
>      next dependency?

Good point.

>    - Why do i have to specify -r on the command line to build
>      remotely?  I understand that local gem installations are possible
>      (and maybe even common), but wouldn't it make sense for gem to
>      assume that "gem install rails" is a remote install and "gem
>      install rails.gem" is a local install?  In this case it wouldn't
>      have to bother with this "attempting local installation"
>      business.

The -r is not required for remote installs, its just that it checks
locally now.

However, there are plans to unify the specification of gems so that the
local/remote, version-requirements, and platform and all be specified in
a URL like manner (rather than as options on the command line).

And I agree, the announcement that it couldn't find a local gem is
annoying, since the trend is that most installs are remote.

>    - Why on earth, on earth, on earth is the package's documentation
>      built locally?  It is by far the lengthiest part of the install,
>      and I can see no good reason why this couldn't be done at gem
>      build-time.  Am I missing something here?  How could the
>      documentation differ from one machine to the next such that this
>      approach would make sense?

(1) Bandwidth as someone else has mentioned, (2) the ability to apply
different RDoc templates (my local docs all use the same template, no
matter what the software author used).  And you don't need to build the
rdocs if you don't want to.

>    - When there are warnings in the documentation building, why do
>      these appear last, making it seem that there were problems in
>      installing the gem itself?

Agreed, confusing.  The whole local/remote unification thing will
probably address this.

>    - Why so little output while installing?  Can't i at least pass a
>      -v flag to get a better indication of what's actually happening?
>      It would certainly make gem installs seem more responsive.

Better feedback during install, gotcha!  Agreed.

-- Jim Weirich
Ff86e81d51f51262151d73da1c84bbc0?d=identicon&s=25 Bill Atkins (Guest)
on 2006-03-01 20:34
(Received via mailing list)
Jim Weirich <jim@weirichhouse.org> writes:

> Bill Atkins wrote:
>> Here are some issues I've noticed with RubyGems' user interface:
>>
>>    - Why do I have to confirm each _required_ dependency?  What chance
>>      is there of leaving off a required dependency and still having a
>>      functioning install?
>
> Quite good if you've installed some software as non-gems.  That being
> said, it is probably an edge case and you make a good point.

Maybe there could be a distinction between required dependencies and
suggested packages, i.e. dependencies would be absolutely necessary
for a gem to function but suggested packages can be installed or not,
at the user's discretion, without affecting the package's basic
functionality; suggested packages woudl then be treated as
"required dependencies" currently are.

>>    - Why do i have to specify -r on the command line to build
> However, there are plans to unify the specification of gems so that the
>>      documentation differ from one machine to the next such that this
>>      approach would make sense?
>
> (1) Bandwidth as someone else has mentioned, (2) the ability to apply
> different RDoc templates (my local docs all use the same template, no
> matter what the software author used).  And you don't need to build the
> rdocs if you don't want to.

Bandwidth usage is a good point that didn't even occur to me.  Is it
reasonable, then, to require user confirmation before installing docs,
and maybe pointing out that it could take a while?  I generally use
online documentation for libraries anyway, even if the documentation
happens to be installed somewhere on my hard drive.  I'm not sure if
this is a common way of doing things.  In any case, I'll use the
--no-rdoc flag in the future.

>
> Better feedback during install, gotcha!  Agreed.
>
> -- Jim Weirich

Thanks for responding!
4299e35bacef054df40583da2d51edea?d=identicon&s=25 James Gray (bbazzarrakk)
on 2006-03-01 20:39
(Received via mailing list)
On Mar 1, 2006, at 1:33 PM, Bill Atkins wrote:

>>
>> Quite good if you've installed some software as non-gems.  That being
>> said, it is probably an edge case and you make a good point.
>
> Maybe there could be a distinction between required dependencies and
> suggested packages, i.e. dependencies would be absolutely necessary
> for a gem to function but suggested packages can be installed or not,
> at the user's discretion, without affecting the package's basic
> functionality; suggested packages woudl then be treated as
> "required dependencies" currently are.

I would love this feature.  HighLine prefers termios, but it has a
fallback hand-rolled input method it will default to.  Unfortunately,
I can't make termios a requirement because of Windows.

It would also be cool for projects that prefer FasterCSV, but that
will settle for CSV.

James Edward Gray II
This topic is locked and can not be replied to.