Closed pcarbo closed 5 years ago
More from Henrik Alsing Friberg: I have discovered that the Chief Scientist at RStudio, Hadley Wickham, has already come far to incorporate support for remote repositories. The plan is to finish this development in devtools (https://github.com/hadley/devtools), transfer it to remotes (https://github.com/r-lib/remotes), and hopefully get it widely accepted. As an experiment, I pushed the Rmosek package to github (https://github.com/MOSEK/Rmosek) and tried devtools::install_github("MOSEK/Rmosek@8.1")
with success. Since devtools adds meta-data in the installed DESCRIPTION file about where the package originated, the corresponding devtools:update_packages()
can also succeed (it even locks on to the specified branch—in my example 8.1—so that you can stay updated within the version of MOSEK on your system). Finally, package references outside CRAN can be added to the DESCRIPTION file with the comma separated "Remotes" keyword (see https://github.com/hadley/devtools/blob/master/vignettes/dependencies.Rmd), e.g.
Remotes: github::MOSEK/Rmosek@8.1
This will allow the devtools installer to correctly resolve Rmosek if mentioned as dependency. Although it seems to work already, it is still an experiment, and as Ulrike pointed out we are yet to find out how CRAN feels about listing references to remote packages, e.g, in enhancement fields where they do not influence installation.
https://github.com/MOSEK/Rmosek didn't seems exist anymore. devtools::install_github("MOSEK/Rmosek@8.1") also didn't worked.
Sorry @xubeisi. We haven't updated these installation instructions. Go here and you will find clear installation instructions for Rmosek.
Maybe it's a good time to revisit the possibility of replacing MOSEK with the foss options out there, such as cvxr https://cvxr.rbind.io/. It also supports using MOSEK/Gurobi as a backend solver if needed.
Thanks for the suggestion @road2stat. We already have a better solution, actually.
@pcarbo -awesome! Looking forward to seeing the mixSQP solution in place.
Thank you! @pcarbo it works!
From Henrik Alsing Friberg:
You all have in common that your packages reverse import/suggest/enhance the Rmosek package, and I am sure you all know that the package hosted on CRAN is deprecated and has not been working since MOSEK v6 (~5 years ago). While MOSEK is careful about not breaking backwards compatibility unnecessarily, it may happen between major releases (in v6 to v7 it happened a few places as we added the semidefinite cone). Rather than having separate packages Rmosek6, Rmosek7, Rmosek8, etc., we decided to have separate repositories:
http://download.mosek.com/R/6/ http://download.mosek.com/R/7/ http://download.mosek.com/R/8/
and hope some day the R package system will grow wise enough to support this versioning within a single repository (the PACKAGES file could e.g. expose a "variant" property that you could lock on to). To avoid confusion with the old version at CRAN, we are now taking the steps to archive it such that
install.packages("rmosek")
will no longer function without specifying one of the MOSEK repositories. Please confirm that you are aware of this. The best you can do at the moment is to link to the Installation section of the Rmosek documentation which I will keep updated. Any suggestions to the Rmosek package or its documentation is of course welcome.