Comments (9)
I realized that this is an issue relate to the new Ruby Install changes:
https://github.com/oneclick/rubyinstaller2/wiki/FAQ#user-content-choco-install
Seems that I'll have to install MSYS2 one way or the other. What got me stuck here is that there are 3 options to the ridk install
command mentioned in the gem update
error, but couldn't work out which ones to go for.
Anyhow, I thought worth mentioning the problem for other users like me, who update Ruby via the Chocolatey package might suddenly stumble upon this new problem.
from bigdecimal.
Since I brought up the issue I might as well post the solution to the problem...
Assuming you have installed Ruby via Chocolatey, just install also the MSYS2 Chocolatey package. Once it's done, open the CMD:
ridk install 2 3
gem update
It's as simple as that (except that maybe you didn't want to install MSYS2 in the first place, but with the newer Ruby installer that's the way it so, tuff luck).
from bigdecimal.
@tajmone I'm sorry, I couldn't understand what should I do for this issue because I don't have enough knowledge of Windows environment. Would you please describe it?
from bigdecimal.
Hi @mrkn ! As I said, it's really a problem linked to Ruby v2.6 update, which changed the way gems are updated. But since I was getting the error only for the bigdecimal gem I thought it was specific to the gem.
Ultimately, I though to post the solution to the problem since other users might be experiencing the same issue.
Basically, Ruby installer for Windows now requires MSYS2 to be present on the system to update some gems, which wasn't required with Ruby <2.6, hence the error message.
The steps I mentioned in the solution, above, solve the problem (for all gems).
Possibly, in the future any problems in updating this gem will be tied to MSYS2, as using the ridk install 2 3
command might be required before performing gem update
. This new way of updating gems complicates a bit things for Windows users.
Probably this issue should be closed, but hopefully it might be of some help as a reference to Windows specific problems in updating the gem.
from bigdecimal.
@tajmone Thank you for the explanation.
I'll write about ridk install 2 3
command in README. Is it enough for Windows users?
from bigdecimal.
It's needed only for Windows users who install Ruby by Chokolatey. Windows users who install Ruby by RubyInstaller for Windows directly don't need to anything. Because https://rubyinstaller.org/downloads/ recommends that normal users install Ruby with devkit.
I have no data but I think that direct RubyInstaller users are majority.
I think that putting a link to https://chocolatey.org/packages/msys2 is better because the page describes ridk install 2 3
and more.
from bigdecimal.
Thanks for the clarification @kou, this point wasn't clear to me although I spent over an hour jumping from the various docs of Ruby Installer and the Chocolatey package.
This whole situation made me unsure about potential MSYS2 issues and wether installing it manually, via Choco, using ridk
, etc., could create duplicates or introduce conflicts.
I have no data but I think that direct RubyInstaller users are majority.
I have no clue either, by the Ruby Chocolatey package mentions over 684,986 download, so it's definitely quite popular too.
I'll write about ridk install 2 3 command in README. Is it enough for Windows users?
Only if MSYS2 is already on the system one way or another โ via Ruby + Dev Kit, installed manually or via Chocolatei, or installed via ridk install 1
for ridk also installs MSYS2 from scratch:
D:\>ridk install
_____ _ _____ _ _ _ ___
| __ \ | | |_ _| | | | | | |__ \
| |__) | _| |__ _ _ | | _ __ ___| |_ __ _| | | ___ _ __ ) |
| _ / | | | '_ \| | | | | | | '_ \/ __| __/ _` | | |/ _ \ '__/ /
| | \ \ |_| | |_) | |_| |_| |_| | | \__ \ || (_| | | | __/ | / /_
|_| \_\__,_|_.__/ \__, |_____|_| |_|___/\__\__,_|_|_|\___|_||____|
__/ | _
|___/ _|_ _ __ | | o __ _| _ _
| (_) | |^| | | |(_|(_)\^/_>
1 - MSYS2 base installation
2 - MSYS2 system update (optional)
3 - MSYS2 and MINGW development toolchain
Which components shall be installed? If unsure press ENTER [1,2,3]
I think that if someone has installed Ruby via Chocolatey he/she should also install MSYS2 via Choco (and viceversa) for both are desgined with options that would work well with other too. The Choco packages for Ruby and MSYS integrate well with each other:
Ruby integration
This package can be used with ruby package to provide native building environment for gems.
- The ruby installer comes with
ridk
function which offers interactive GUI installation wizard of msys2 and hence can't be used unattended (ridk install 1
).- Its system update is the same as initialization done with this package (
ridk install 2
).- Ruby installer offers unattended setup of MSYS2 and MINGW development toolchain (
ridk install 3
).You can also just install the msys2 package without system update and use
ridk
afterwards:cinst ruby # install ruby cinst msys2 --params "/NoUpdate" # install msys2 without system update Update-SessionEnvironment # refresh environment vars ridk install 2 3 # use ruby's ridk to update the system and install development toolchain
from bigdecimal.
Does this happen still?
This isnโt a problem of bigdecimal, but rather a problem of RubyInstaller and/or Chocolatey, which affects other extension library gems. Should be discussed there.
from bigdecimal.
Does this happen still?
Never happened again after I filed this issue.
from bigdecimal.
Related Issues (20)
- BUG: BigDecimal#precision returns a wrong result when the number consists of single DECDIG
- Method BigDecimal: precision too large. (ArgumentError) HOT 2
- Method BigDecimal: 0 digits algorithm HOT 2
- Accept a Float value in BigDecimal#div when a precision is given HOT 2
- BigDecimal should accept a Float value without a precision
- BigDecimal#quo should accept a precision argument
- "ERROR(VpDivd): space for remainder too small" for certain division HOT 3
- Exponential growth in precision causing memory usage to spike as of 3.1.2 HOT 5
- ERROR(VpDivd): space for remainder too small
- BigDecimal#round raises FloatDomainError regardless of exception mode HOT 2
- Comparison failure: 9.8.abs <= BigDecimal('9.8') => false HOT 4
- Inconsistent max precision affecting dump&load result HOT 4
- Inconsistency between Bigdecimal 3.0.x and 3.1.x HOT 4
- BigDecimal#n_significant_digits and #precision do not return the correct value HOT 1
- I would expect BigDecimal#divmod to return type [Int, BigDecimal] (like Integer#divmod, Float#divmod)
- mode(BigDecimal::EXCEPTION_ALL,true) did not throw an exception when bigdecimal#exponent overflowed HOT 1
- Integrate JRuby implementation into the gem
- Loss of precision on very large numbers in `to_d` HOT 1
- Incorrect calculation result after upgrading from BigDecimal 3.1.1 to 3.1.2 HOT 1
- Difference in behavior with and without BigDecimal#dev 'digit' argument
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bigdecimal.