webdriver-manager how to install selenium version npm - protractor

I installed webdriver-manager by installing protractor via npm install with package.json. Under the root dir /webdriver-manager node module there is a config.json that contains
{
"webdriverVersions": {
"selenium": "2.53.1",
"chromedriver": "2.27",
"geckodriver": "v0.13.0",
"iedriver": "2.53.1",
"androidsdk": "24.4.1",
"appium": "1.6.0"
},
"cdnUrls": {
"selenium": "https://selenium-release.storage.googleapis.com/",
"chromedriver": "https://chromedriver.storage.googleapis.com/",
"geckodriver": "https://github.com/mozilla/geckodriver/releases/download/",
"iedriver": "https://selenium-release.storage.googleapis.com/",
"androidsdk": "http://dl.google.com/android/"
}
}
I'm thinking here is where I can change the version of selenium to whatever I want and then run webdriver-manager update command. When I do that though the selenium version installed is different than what is listed above. The version that gets installed is selenium 3.1.0 and gecko 0.14.0. Chromedriver is installing 2.27 and matching. Is this the way to install different versions and if so why are the versions different? Thanks.

This depends on the version of protractor / webdriver-manager installed. So if you are using the latest (as of this post) protractor#5.1.1 uses the dependency webdriver-manager#12.02. As of webdriver-manager#12.0.2, it downloads the latest version and does not use the confg.json. config.json will be removed in the next version.
To download a specific version of (for example) chromedriver:
webdriver-manager update --versions.chrome 2.20
You could get the full list of options for the update method with:
webdriver-manager update-help

Related

How to install no latest but highest version of npm package without specifying a version

For some reason when I do npm publish the registry does not remove latest tag from previous version and does not attach latest to newer version.
I there a way to download highest version of package without knowing exactly what the version is?
I recommend using semantic versioning if you aren't already. You can use this tool to see examples of how version spec works. Here's an example that could be included in package.json which will install the highest version of lodash in the registry:
"dependencies": {
"lodash": "x"
}
Ok, I do not know how to install highest version. But I localized a error in npm, if I publish my package when in package.json is "depraceted":false it will not change tag to latest even if I pass it as flag in publish command.

How to install Ionic framework V5

I installed Ionic framework with npm.
npm install -g #ionic/cli
The installed version is 6.2.1, but in my work they using the version 5. How i can install the version 5 ?
6.2.1 is the version of the installed Ionic CLI. This is NOT the Ionic Framework version.
To check the Ionic Framework version of a project, open package.json and look for the version of #ionic/angular. It should be something like this: "#ionic/angular": "^5.0.5".
Also, the versions of the #ionic-native/* plugins would be 5 or greater.
To sum it up, if you are about to contribute to an Ionic 5 project, installing the latest version of the Ionic CLI is enough. When setting up the project on your machine, running npm install should install all the required dependencies, including Ionic 5.

When using Protractor 5.4.2, webdriver-manager downloads 2.46 which is not compatible with Chrome 74

Protractor 5.4.2 uses webdriver-manager 12 which downloads Chromedriver 2.46. Chromedriver 2.46 supports Chrome 71-73 (see http://chromedriver.chromium.org/downloads). We need to download Chromedriver 74.0.3729.6.
I also see that there is a webdriver-manager#13 that supports this. Should I use it with Protractor 5.4.2?
webdriver-manager#12.1.4 is fixed
webdriver-manager released 12.1.4 which will download a max ChromeDriver version of 74. How to get it?
do a fresh install of your node modules directory (remove node_modules folder and do a npm install)
do a forced install npm install -f
If you want to download a version specific in 74.x.x.x, this has been fixed in 12.1.4. I introduced a bug when I tried to quickly fix the issue in 12.1.3 causing this to not work.
Background on webdriver-manager downloading ChromeDriver 2.xx
webdriver-manager downloaded files based on the https://chromedriver.storage.googleapis.com/ The versions from the download were formatted 2.xx. These did not map to versions of Chrome. To make semantic version comparisons, we would tack on a '.0' to user the semver node module to make comparisons.
This assumption does not work with the new versioning for ChromeDriver 74 (74.0.3729.6). This is why it was not downloading the file. This change happened in approx August 2018. When this change happened fixes were added to the upcoming version of webdriver-manager 13.
So why not use webdriver-manager#13? Some reasons why this won't work with Protractor 5.4.2:
The fix was in for webdriver-manager 13 but Protractor 5.4.2 relies on webdriver-manager ^12.0.6. Installing another version of webdriver-manager might not work when resolving the downloaded files.
This would not work when launching Protractor with direct connect (driverProviders/direct) or local since the update-config.json file is not created. There is a fix for this here: https://github.com/angular/webdriver-manager/pull/372 but probably will not be merged.
How does webdriver-manager#12 download a max version of 74?
For webdriver-manager#12, the max version is stored here: https://github.com/angular/webdriver-manager/blob/legacy/config.json#L5 If a Chrome releases 75, this should also be changed to version 75 in a pull request against the legacy branch.
Try installing chromedriver v. 74.0.3729.6 (Chrome 74) LOCALLY AND GLOBALLY
for the global installation run
webdriver-manager update --versions.chrome 74.0.3729.6
for local installation run something like
node ./node_modules/protractor/bin/webdriver-manager update --versions.chrome 74.0.3729.6
List of driver versions is here http://chromedriver.chromium.org/downloads
Possibly you'll face this issue update protractor chrome driver to 74,
see my comment there
Let me know if you run into issues

How to install older version of sbt?

I am facing some "UNRESOLVED DEPENDENCIES" problem for my custom dependencies with latest version of sbt(0.13.8)
I want to install older version of sbt, Do we have any command by which I can install older version of sbt ?
You can define the sbt version by writing the one you need in /project/build.properties
It would be something like:
sbt.version=x.xx.x
Use the following command for a Debian-based Linux:
sudo apt-get install sbt=0.13.13

Grunt need compass installed in system PATH Warning

I want to install Yeoman, Grunt and bower to my node project.
I made a node project in Eclipse (using the nodeclipse plugin) and navigated to the project folder
(which is H:\Eclipse Workspace\YoTest) in cmd and typed in:
npm install yo -g
npm install generator-webapp -g
yo webapp
selected: Sass (with compass), in cmd
And then typed:
grunt serve
to run the webapp.
I get the following error message:
Done, without errors.
Warning: Running "compass:server" (compass) task
Warnin: You need to have Ruby and Compass installed and in your system PATH for
this task to work. More info: https://github.com/gruntjs/grunt-contrib-compass
Use --force to continue.
Aborted due to warnings. Use --force to continue.
Aborted due to warnings.
How do I fix this so that I can run my node project with grunt?
PS: I'm not sure if it has anything to do with the problem, but I also get the following errors on line 1-27 in my package.json:
Multiple markers at this line
- strings must use singlequote
- strings must use singlequote
This is my package.json
{
"name": "yotest2",
"version": "0.0.0",
"dependencies": {},
"devDependencies": {
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-uglify": "~0.2.0",
"grunt-contrib-compass": "~0.7.0",
"grunt-contrib-jshint": "~0.7.0",
"grunt-contrib-cssmin": "~0.7.0",
"grunt-contrib-connect": "~0.5.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-bower-install": "~0.7.0",
"grunt-contrib-imagemin": "~0.2.0",
"grunt-contrib-watch": "~0.5.2",
"grunt-rev": "~0.1.0",
"grunt-autoprefixer": "~0.5.0",
"grunt-usemin": "~2.0.0",
"grunt-mocha": "~0.4.0",
"grunt-modernizr": "~0.4.0",
"grunt-newer": "~0.6.0",
"grunt-svgmin": "~0.2.0",
"grunt-concurrent": "~0.4.0",
"load-grunt-tasks": "~0.2.0",
"time-grunt": "~0.2.0",
"jshint-stylish": "~0.1.3"
},
"engines": {
"node": ">=0.8.0"
}
}
I'm on Windows.
The warning seems to say it all.
If you're on OS X or Linux you probably already have Ruby installed; test with ruby -v in your terminal. When you've confirmed you have Ruby installed, run gem update --system && gem install compass to install Compass and Sass.
If that doesn't help, then install the grunt-contrib-compass package with the instructions at https://github.com/gruntjs/grunt-contrib-compass
I struggled for hours with this same error message when running a gulp watch, and despite installing, reinstalling, rebooting, it would still show up.
Got it working by uninstalling all my packages :
sudo gem uninstall bundler bundle compass sass compass-core compass-import-once
And installing bundle only
sudo gem install bundle bundler
And then run the command that magically installed everything I needed :
$ bundle
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/..
Installing sass 3.4.9
Installing sassy-maps 0.4.0
Installing breakpoint 2.5.0
Installing hitimes 1.2.2
Installing timers 4.0.1
Installing celluloid 0.16.0
Using chunky_png 1.3.3
Using multi_json 1.10.1
Installing compass-core 1.0.1
Using compass-import-once 1.0.5
Using rb-fsevent 0.9.4
Using ffi 1.9.6
Using rb-inotify 0.9.5
Installing compass 1.0.1
Installing json 1.8.1
Installing listen 2.8.3
Installing thor 0.19.1
Installing fontcustom 1.3.7
Installing modular-scale 2.0.5
Installing normalize-scss 3.0.2
Installing sass-css-importer 1.0.0.beta.0
Installing sassy-buttons 0.2.6
Installing susy 2.1.3
Using bundler 1.8.0
Bundle complete! 9 Gemfile dependencies, 24 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Post-install message from compass:
Compass is charityware. If you love it, please donate on our behalf at http://umdf.org/compass Thanks!
Post-install message from fontcustom:
>> Thanks for installing Font Custom! Please ensure that fontforge is installed before compiling any icons. Visit <http://fontcustom.com> for instructions.
Now, don't ask me why, but it all works :-)
Hope that can help anybody out there, I really struggled on this one ...
Just need to write on console -> (or sudo )gem install compass ,because the npm command wouldn´t do anything
For Mac OS X 10.10 (Yosemite)
Search for installed ruby version
ruby -v.
If present
update gems using sudo gem update --system
else install rvm with ruby using
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Then install the Xcode Command Line Tools
xcode-select --install .
This will take some time.
Now install compass using sudo gem install compass.
For me this worked like a charm.
Ruby and Ruby Gems ought to be installed which in turn facilitate the installation of Sass and compass. Check this out http://hecktechsolutions.blogspot.in/2015/03/installation-of-gems-compass-and-sass.html