New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflict with slop(~> 4.2) #1497

Closed
yuuki1224 opened this Issue Dec 10, 2015 · 9 comments

Comments

Projects
None yet
7 participants
@yuuki1224

yuuki1224 commented Dec 10, 2015

I've encountered the conflict with slop when I run my small ruby script on my box. Error message is like below.

my/ruby/path/2.2.0/rubygems/specification.rb:1638:in `raise_if_conflicts': Unable to activate pry-0.10.3, because slop-4.2.0 conflicts with slop (~> 3.4) (Gem::LoadError)

In my script, I'm requiring slop and pry and these gems on my machine are pry ~> 0.10.3 and slop ~> 4.2.0. Probably, the problem is slop has breaking change when release version 4 (See here) and pry depends still on the slop version 3?
( I'm sorry if this issue is duplicated with already ones and feel free to close this in that case! )

@banister

This comment has been minimized.

Show comment
Hide comment
@banister

banister Dec 10, 2015

Member

we should probably just fork off slop slop-pry so we can use it without interfering with other versions, what do you think? cc @strcmp @rf- @kyrylo

Member

banister commented Dec 10, 2015

we should probably just fork off slop slop-pry so we can use it without interfering with other versions, what do you think? cc @strcmp @rf- @kyrylo

@r-obert

This comment has been minimized.

Show comment
Hide comment
@r-obert

r-obert Dec 10, 2015

Member

yeah if we were to add Pry::Slop or Pry::OptionParser i think we could avoid this issue.

Member

r-obert commented Dec 10, 2015

yeah if we were to add Pry::Slop or Pry::OptionParser i think we could avoid this issue.

@rf-

This comment has been minimized.

Show comment
Hide comment
@rf-

rf- Dec 10, 2015

Member

Yeah we should really just do it already. There's no way we're going to keep up with future versions of Slop since what we have now works fine, so we should just vendor it to avoid putting people in versioning hell.

Member

rf- commented Dec 10, 2015

Yeah we should really just do it already. There's no way we're going to keep up with future versions of Slop since what we have now works fine, so we should just vendor it to avoid putting people in versioning hell.

@r-obert

This comment has been minimized.

Show comment
Hide comment
@r-obert

r-obert Dec 10, 2015

Member

cool, i think i done this before and it wasn't much work. i think Pry::OptionParser is a better name but without fully qualifying constant name maybe it would be confused with optparse and it wouldn't be obvious it is a clone of slop v3 although i guess when its in the pry repository its more likely than before that it will be changed and tailored to pry.

Member

r-obert commented Dec 10, 2015

cool, i think i done this before and it wasn't much work. i think Pry::OptionParser is a better name but without fully qualifying constant name maybe it would be confused with optparse and it wouldn't be obvious it is a clone of slop v3 although i guess when its in the pry repository its more likely than before that it will be changed and tailored to pry.

@kyrylo

This comment has been minimized.

Show comment
Hide comment
@kyrylo

kyrylo Dec 11, 2015

Member

+1 for vendoring.

Member

kyrylo commented Dec 11, 2015

+1 for vendoring.

@r-obert r-obert added the feature label Dec 11, 2015

@epitron

This comment has been minimized.

Show comment
Hide comment
@epitron

epitron Dec 11, 2015

Member

+1 for Pry::Slop

Member

epitron commented Dec 11, 2015

+1 for Pry::Slop

@r-obert

This comment has been minimized.

Show comment
Hide comment
@r-obert

r-obert Dec 11, 2015

Member

"Slop" is not a good name to describe what is an ARGV parser but i think it is better to keep the name as well because i can't think of anything better than OptionParser, CommandSwitchParser, and ARGVParser. ARGV parser is not that accurate for pry, OptionParser has the issue i mentioned, and CommandSwitchParser is too long.

Member

r-obert commented Dec 11, 2015

"Slop" is not a good name to describe what is an ARGV parser but i think it is better to keep the name as well because i can't think of anything better than OptionParser, CommandSwitchParser, and ARGVParser. ARGV parser is not that accurate for pry, OptionParser has the issue i mentioned, and CommandSwitchParser is too long.

@r-obert r-obert referenced this issue Dec 11, 2015

Merged

fix #1497 #1498

@rf- rf- closed this in #1498 Dec 11, 2015

@epitron

This comment has been minimized.

Show comment
Hide comment
@epitron

epitron Dec 11, 2015

Member

👏 👏 👏 👏

Pry 1.0, here we come!

Member

epitron commented Dec 11, 2015

👏 👏 👏 👏

Pry 1.0, here we come!

@debbbbie

This comment has been minimized.

Show comment
Hide comment
@debbbbie

debbbbie commented Dec 23, 2015

👍

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Mar 14, 2018

taca
misc/ruby-pry: update to 0.11.3
pkgsrc change: add support for pkg_alternatives

### HEAD

#### Features

* Add Pry::Testable, an improved modular replacement for PryTestHelpers.
  **breaking change**.

See pull request [#1679](pry/pry#1679).

* Add a new category module: "Pry::Platform". Loosely related to #1668 below.

See pull request [#1670](pry/pry#1670)

* Add `mac_osx?` and `linux?` utility functions to Pry::Helpers::BaseHelpers.

See pull request [#1668](pry/pry#1668).

* Add utility functions for drawing colorised text on a colorised background.

See pull request [#1673](pry/pry#1673).

#### Bug fixes

* Fix a case of infinite recursion in `Pry::Method::WeirdMethodLocator#find_method_in_superclass`
  that users of the [Hanami](http://hanamirb.org/) web framework experienced and
  reported since 2015.

See pull request [#1639](pry/pry#1689).

* Fix a bug where Method objects were not returned for setters inherited
  from a default (Pry::Config::Default). Eg, this is no longer an error:

      pry(main)> d = Pry::Config.from_hash({}, Pry::Config::Default.new)
      pry(main)> d.method(:exception_whitelist=) # Error

See pull request [#1688](pry/pry#1688).

* Do not capture unused Proc objects in Text helper methods `no_color` and `no_paging`,
  for performance reasons. Improve the documentation of both methods.

See pull request [#1691](pry/pry#1691).

* Fix `String#pp` output color.

See pull request [#1674](pry/pry#1674).

### 0.11.0

* Add alias 'whereami[?!]+' for 'whereami' command. ([#1597](pry/pry#1597))
* Improve Ruby 2.4 support ([#1611](pry/pry#1611)):
  * Deprecated constants are hidden from `ls` output by default, use the `-d` switch to see them.
  * Fix warnings that originate in Pry while using the repl.
* Improve completion speed in large applications. ([#1588](pry/pry#1588))
* Pry::ColorPrinter.pp: add `newline` argument and pass it on to PP. ([#1603](pry/pry#1603))
* Use `less` or system pager pager on MS Windows if it is available. ([#1512](pry/pry#1512))
* Add `Pry.configure` as an alternative to the current way of changing configuration options in `.pryrc` files. ([#1502](pry/pry#1502))
* Add `Pry::Config::Behavior#eager_load!` to add a possible workaround for issues like ([#1501](pry/pry#1501))
* Remove Slop as a runtime dependency by vendoring v3.4 as Pry::Slop.
  People can depend on Slop v4 and Pry at the same time without running into version conflicts. ([#1497](pry/pry#1497))
* Fix auto-indentation of code that uses a single-line rescue ([#1450](pry/pry#1450))
* Remove "Pry::Config#refresh", please use "Pry::Config#clear" instead.
* Defining a method called "ls" no longer breaks the "ls" command ([#1407](pry/pry#1407))
* Don't raise when directory permissions don't allow file expansion ([#1432](pry/pry#1432))
* Syntax highlight <tt> tags in documentation output.
* Add support for BasicObject subclasses who implement their own #inspect (#1341)
* Fix 'include RSpec::Matchers' at the top-level (#1277)
* Add 'gem-readme' command, prints the README file bundled with a rubygem
* Add 'gem-search' command, searches for a gem with the rubygems.org HTTP API
* Fixed bug in the `cat` command where it was impossible to use line numbers with files ([#1349](pry/pry#1349))
* Fixed uncaught Errno::EOPNOTSUPP exception when $stdout is a socket ([#1352](pry/pry#1352))
* Display a warning when you cd'ed inside a C object and executed 'show-source' without arguments ([#691](pry/pry#691))
* Make the stagger_output method more reliable by reusing possibly available Pry instance ([#1364](pry/pry#1364))
* Make the 'gem-install' message less confusing by removing backticks ([#1350](pry/pry#1350))
* Fixed error when Pry was trying to load incompatible versions of plugins ([#1312](pry/pry#1312))
* Fixed bug when `hist --clear` led to ArgumentError ([#1340](pry/pry#1340))
* Fixed the "uninitialized constant Pry::ObjectPath::StringScanner" exception during autocomplete ([#1330](pry/pry#1330))
* Secured usage of colours with special characters (RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE) in Pry::Helpers::Text ([#493](pry/pry#493 (comment)))
* Fixed regression with `pry -e` when it messes the terminal ([#1387](pry/pry#1387))
* Fixed regression with space prefixes of expressions ([#1369](pry/pry#1369))
* Introduced the new way to define hooks for commands (with `Pry.hooks.add_hook("{before,after}_commandName")`). The old way is deprecated, but still supported (with `Pry.commands.{before,after}_command`) ([#651](pry/pry#651))
* Removed old API's using `Pry::Hooks.from_hash` altogether
* Removed hints on Foreman support (see [this](ddollar/foreman#536))
* Fixed support for the tee command ([#1334](pry/pry#1334))
* Implemented support for CDPATH for ShellCommand ([#1433](pry/pry#1433), [#1434](pry/pry#1434))
* `Pry::CLI.parse_options` does not start Pry anymore ([#1393](pry/pry#1393))
* The gem uses CPU-less platforms for Windows now ([#1410](pry/pry#1410))
* Add `Pry::Config::Memoization` to make it easier to implement your own `Pry::Config::Default` class.([#1503](pry/pry#1503))
* Lazy load the config defaults for `Pry.config.history` and `Pry.config.gist`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment