首页 文章

从URL安装Bower依赖项并指定版本

提问于
浏览
150

我正在尝试使用URL安装Bower的依赖项 . 截至Bower文档:

Bower提供了几种安装包的方法:

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

<package> 可以是以下任何一种:

  • 映射到Bower注册的包的名称,例如jquery .

  • 远程Git endpoints ,例如 git://github.com/someone/some-package.git . 可以是公共的还是私人的 .

  • 本地 endpoints ,即Git存储库的文件夹 .

  • 简写 endpoints ,例如 someone/some-package (默认为GitHub) .

  • 文件的URL,包括zip和tar文件 . 其内容将被提取 .

然而,它说,除了URL之外的所有类型都允许指定版本 .

如何为URL下载依赖项指定版本?

10 回答

  • 6

    试试 bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --save ,其中 1.0.3 是您可以通过读取版本下的标签获得的标签号 . 也可以通过 git:// 替换URL,以便系统连接 .

  • 53

    我相信指定版本仅适用于git-endpoints . 而不是文件夹/拉链 . 当您将bower指向js文件/文件夹/ zip时,您已经指定了包和版本(确实除了js) . 因为包中包含bower.json版本 . 当您将bower指向可以具有许多版本的包的存储库时,在'bower install'中指定版本是有意义的 . 我认为它只能是git .

  • 7

    定位特定提交

    远程(github)

    使用github时,请注意您还可以通过将其提交哈希附加到其克隆URL的末尾来定位特定提交(例如,您已制作和更新的分支) . 例如:

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

    本地(文件系统)

    或者,如果您使用项目的.git目录,则可以在本地文件系统中定位git提交(在Windows上;请注意正斜杠):

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

    这是测试您在本地提交但尚未推送到repo的库代码的一种方法 .

  • 9

    如果使用bower.json文件指定依赖项:

    {
         "dependencies": {
             ...
             "photo-swipe": "git@github.com:dimsemenov/PhotoSwipe.git#v3.0.x",
    
    #bower 1.4 (tested with that version) can read repositorios with uri format
    
             "photo-swipe": "git://github.com/dimsemenov/PhotoSwipe.git#v3.0.x",
    
         }
    }
    

    请记住,bower还会搜索已发布的版本和标签,以便您可以指向几乎所有内容,并且可以像之前的示例那样插入基本查询模式 . 将获取3.0版的最新次要更新(从bower 1.3.5测试)

    Update ,因为问题描述也提到仅使用URL而没有提到github存储库 .

    另一个例子是使用所需的url执行此命令,如:

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

    该命令下载你的js库放入{你的目标路径} /gmap3MarkerWithLabel/index.js并在你的bower.json文件中自动创建一个名为gmap3MarkerWithLabel的条目:"..."之后,你只能在需要时执行 bower update gmap3MarkerWithLabel .

    有趣的事情,如果你做过程backwars(手动添加bower.json中的条目,然后bower安装entryName)它不起作用,你得到一个

    bower ENOTFOUND包找不到gmapV3MarkerWithLabel

  • 21

    Just specifying the uri endpoint worked for me ,凉亭1.3.9

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

    运行 bower install ,我收到以下输出:

    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
    

    您也可以尝试更新凉亭

    • npm update -g bower

    根据documentation:支持以下类型的网址:

    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)
    
  • 3

    使用以下内容:

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

    更多这里:http://bower.io/#getting-started

  • 0

    使用git endpoints 而不是包名称:

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

    这是通过 bower.json 从GitHub安装特定标记或提交的简便方法 .

    {
      "dependencies": {
        "your-library-name": "<GITHUB-USERNAME>/<REPOSITORY-NAME>#<TAG-OR-COMMIT>"
      }
    }
    

    例如:

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

    只是一个更新 .

    现在,如果它是一个github存储库,那么只使用github速记就足够了,如果你不介意当然的版本 .

    GitHub简写

    $ bower install desandro/masonry
    
  • 189

    从git安装包并保存到你的bower.json依赖块 .

    • bower register package-name git-endpoint#version

    • install package-name --save

    --save 会将包名称版本保存在依赖块内的bower.json文件中) .

    Reference

相关问题