Blog coding and discussion of coding about JavaScript, PHP, CGI, general web building etc.

Friday, January 15, 2016

Installing a dependency with Bower from URL and specify version

Installing a dependency with Bower from URL and specify version


I am trying to install a dependency with Bower using a Url. As of Bower documentation:

Bower offers several ways to install packages:

    # Using the dependencies listed in the current directory's bower.json       bower install      # Using a local or remote package       bower install       # Using a specific version of a package       bower install #      # Using a different name and a specific version of a package       bower install =#   

Where can be any one of the following:

  • A name that maps to a package registered with Bower, e.g, jquery.
  • A remote Git endpoint, e.g., git://github.com/someone/some-package.git. Can be public or private.
  • A local endpoint, i.e., a folder that's a Git repository.
  • A shorthand endpoint, e.g., someone/some-package (defaults to GitHub).
  • A URL to a file, including zip and tar files. Its contents will be extracted.

However,then it says,that all the types except the url allow to specify a version.

How do I specify a version for a URL downloaded dependency?

Answer by Sindre Sorhus for Installing a dependency with Bower from URL and specify version


Use a git endpoint instead of a package name:

bower install https://github.com/jquery/jquery.git#2.0.3  

Answer by Shrike for Installing a dependency with Bower from URL and specify version


I believe that specifying version works only for git-endpoints. And not for folder/zip ones. As when you point bower to a js-file/folder/zip you already specified package and version (except for js indeed). Because a package has bower.json with version in it. Specifying a version in 'bower install' makes sense when you're pointing bower to a repository which can have many versions of a package. It can be only git I think.

Answer by lfender6445 for Installing a dependency with Bower from URL and specify version


Just specifying the endpoint worked for me, bower version 1.3.9

  "dependencies": {      "jquery.cookie": "latest",      "requirejs": "latest",      "everestjs": "http://www.everestjs.net/static/st.v2.js"    }  

Running bower install, I received following output:

bower new           version for http://www.everestjs.net/static/st.v2.js#*  bower resolve       http://www.everestjs.net/static/st.v2.js#*  bower download      http://www.everestjs.net/static/st.v2.js  bower invalid-meta  everestjs is missing "ignore" entry in bower.json  

If it doesn't work for you, try updating bower.

npm update -g bower

According to the documentation: the following types of urls are supported:

http://example.com/script.js  http://example.com/style.css  http://example.com/package.zip (contents will be extracted)  http://example.com/package.tar (contents will be extracted)  

Source: http://bower.io/docs/api/

Answer by le0diaz for Installing a dependency with Bower from URL and specify version


If you use bower.json file to specify your dependencies:

{       "dependencies": {           ...           "photo-swipe": "git@github.com:dimsemenov/PhotoSwipe.git#v3.0.x"       }  }  

Just remember bower also searches for released versions and tags so you can point to almost everything, and can interprate basic query patterns like previous example. that will fetch latest minor update of version 3.0 (tested from bower 1.3.5)

Update, as the question description also mention using only a URL and no mention of a github repository.

Another example is to execute this command using the desired url, like:

bower install gmap3MarkerWithLabel=http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.0/src/markerwithlabel.js -S  

that command downloads your js library puts in {your destination path}/gmap3MarkerWithLabel/index.js and automatically creates an entry in your bower.json file called gmap3MarkerWithLabel: "..." After that you can only execute "bower update gmap3MarkerWithLabel" if needed.

Funny thing if you do the process backwars (add manually the entry in bower.json, an then bower install entryName) it doesn't work, you get a

bower ENOTFOUND Package gmapV3MarkerWithLabel not found

Answer by JcT for Installing a dependency with Bower from URL and specify version


Targeting a specific commit

Remote (github)

When using github, note that you can also target a specific commit (for example, of a fork you've made and updated) by appending its commit hash to the end of its clone url. For example:

"dependencies": {    "example": "https://github.com/owner_name/repo_name.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"  }  

Locally (filesystem)

Or you can target a git commit in your local file system if you use your project's .git directory, like so (on Windows; note the forward slashes):

"dependencies": {    "example": "file://C:/Projects/my-project/.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"  }  

This is one way of testing code you've committed locally but not yet pushed to the repo.

Answer by Darlan Mendona for Installing a dependency with Bower from URL and specify version


use the following:

bower install --save git://github.com/USER/REPOS_NAME.git

more here: http://bower.io/#getting-started

Answer by Turdaliev Nursultan for Installing a dependency with Bower from URL and specify version


Just an update.

Now if it's a github repository then using just a github shorthand is enough if you do not mind the version of course.

GitHub shorthand

$ bower install desandro/masonry  

Answer by F Lekschas for Installing a dependency with Bower from URL and specify version


Here's a handy short-hand way to install a specific tag or commit from GitHub via bower.json.

{    "dependencies": {      "your-library-name": "/#"    }  }  

For example:

{    "dependencies": {      "custom-jquery": "jquery/jquery#2.0.3"    }  }  


Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

0 comments:

Post a Comment

Popular Posts

Powered by Blogger.