【问题标题】:How bower install actually find packages?bower install 如何实际找到包?
【发布时间】:2017-04-05 23:56:12
【问题描述】:

我在尝试为我的个人博客安装 bootstrap#v4.0.0-alpha.5 时遇到了一个奇怪的问题。

首先我尝试运行bower install bootstrap#v4.0.0-alpha.5 结果错误 > zsh: no matches found: bootstrap#v4.0.0-alpha.5

然后我尝试运行bower install bootstrap --force-latest 请注意我也用bower cache clear 再次运行了这个 正如所见,这安装了最新的稳定版本而不是最新版本。

结果如下 >

bower bootstrap#*           not-cached https://github.com/twbs/bootstrap.git#*
bower bootstrap#*              resolve https://github.com/twbs/bootstrap.git#*
bower bootstrap#*             download https://github.com/twbs/bootstrap/archive/v3.3.7.tar.gz
bower bootstrap#*              extract archive.tar.gz
bower bootstrap#*             resolved https://github.com/twbs/bootstrap.git#3.3.7
bower jquery#1.9.1 - 3      not-cached https://github.com/jquery/jquery-dist.git#1.9.1 - 3
bower jquery#1.9.1 - 3         resolve https://github.com/jquery/jquery-dist.git#1.9.1 - 3
bower jquery#1.9.1 - 3        download https://github.com/jquery/jquery-dist/archive/3.1.1.tar.gz
bower jquery#1.9.1 - 3         extract archive.tar.gz
bower jquery#1.9.1 - 3        resolved https://github.com/jquery/jquery-dist.git#3.1.1
bower bootstrap#^3.3.7         install bootstrap#3.3.7
bower jquery#1.9.1 - 3         install jquery#3.1.1

bootstrap#3.3.7 bower_components/bootstrap
└── jquery#3.1.1

jquery#3.1.1 bower_components/jquery

我通过运行bower init 并在下面创建bower.json 并在项目根目录中运行bower install 解决了这个问题。

我的bower.json >

{
  "name": "kimmohintikka",
  "description": "",
  "main": "index.js",
  "authors": [
    "HintikkaKimmo <hintikkakimmo@gmail.com>"
  ],
  "license": "ISC",
  "homepage": "",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "dependencies": {
    "bootstrap": "^4.0.0-alpha.5"
  }
}

最后是我的问题。这个问题是 Bower 还是 bootstrap alpha 的命名方式,还是我不明白如何使用 bower?当我运行 bower install 时,它将完全安装我首先尝试安装的包。

见下面的输出>

2.7.11/envs/kimmohintikka) ➜  kimmohintikka git:(master) ✗ bower install
bower bootstrap#^4.0.0-alpha.5       not-cached https://github.com/twbs/bootstrap.git#^4.0.0-alpha.5
bower bootstrap#^4.0.0-alpha.5          resolve https://github.com/twbs/bootstrap.git#^4.0.0-alpha.5
bower bootstrap#^4.0.0-alpha.5         download https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.5.tar.gz
bower bootstrap#^4.0.0-alpha.5          extract archive.tar.gz
bower bootstrap#^4.0.0-alpha.5         resolved https://github.com/twbs/bootstrap.git#4.0.0-alpha.5
bower tether#^1.3.7                  not-cached https://github.com/HubSpot/tether.git#^1.3.7
bower tether#^1.3.7                     resolve https://github.com/HubSpot/tether.git#^1.3.7
bower tether#^1.3.7                    download https://github.com/HubSpot/tether/archive/v1.3.7.tar.gz
bower tether#^1.3.7                     extract archive.tar.gz
bower tether#^1.3.7                    resolved https://github.com/HubSpot/tether.git#1.3.7
bower bootstrap#^4.0.0-alpha.5          install bootstrap#4.0.0-alpha.5
bower tether#^1.3.7                     install tether#1.3.7

bootstrap#4.0.0-alpha.5 bower_components/bootstrap
├── jquery#3.1.1
└── tether#1.3.7

tether#1.3.7 bower_components/tether

【问题讨论】:

    标签: twitter-bootstrap bower


    【解决方案1】:

    经过一番研究我们发现真正的罪魁祸首是zsh,详细在这里:http://coderwall.com/p/nqckeq/zsh-bower-and-command-not-found

    ZSH 在其自己的议程中做某事,因此您可以通过将此别名 bower='noglob bower' 添加到您的 ~/.zshrc 文件或使用带有“引号”bower install "bootstrap#v4.0.0-alpha.5" 的命令来删除其对 bower 的全局设置


    嗯,你确实找到了一个奇怪的,测试了 bower 安装并且它工作正常,所以它肯定不是引导版本号。

    D:\git\test>bower install bootstrap#v4.0.0-alpha.5
    bower bootstrap#v4.0.0-alpha.5       not-cached https://github.com/twbs/bootstrap.git#v4.0.0-alpha.5
    bower bootstrap#v4.0.0-alpha.5          resolve https://github.com/twbs/bootstrap.git#v4.0.0-alpha.5
    bower bootstrap#v4.0.0-alpha.5         download https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.5.tar.gz
    bower bootstrap#v4.0.0-alpha.5          extract archive.tar.gz
    bower bootstrap#v4.0.0-alpha.5         resolved https://github.com/twbs/bootstrap.git#4.0.0-alpha.5
    bower jquery#1.9.1 - 3                   cached https://github.com/jquery/jquery-dist.git#3.1.1
    bower jquery#1.9.1 - 3                 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#1.9.1 - 3
    bower tether#^1.3.7                  not-cached https://github.com/HubSpot/tether.git#^1.3.7
    bower tether#^1.3.7                     resolve https://github.com/HubSpot/tether.git#^1.3.7
    bower tether#^1.3.7                    download https://github.com/HubSpot/tether/archive/v1.3.7.tar.gz
    bower tether#^1.3.7                     extract archive.tar.gz
    bower tether#^1.3.7                    resolved https://github.com/HubSpot/tether.git#1.3.7
    bower bootstrap#v4.0.0-alpha.5          install bootstrap#4.0.0-alpha.5
    bower jquery#1.9.1 - 3                  install jquery#3.1.1
    bower tether#^1.3.7                     install tether#1.3.7
    
    bootstrap#4.0.0-alpha.5 bower_components\bootstrap
    ├── jquery#3.1.1
    └── tether#1.3.7
    
    jquery#3.1.1 bower_components\jquery
    
    tether#1.3.7 bower_components\tether
    

    您的凉亭版本是什么?您尝试更新了吗?

    当你尝试时你会得到什么:bower install bootstrap#^4.0.0-alpha.5 这将模拟你的 bower.json

    您还可以使用以下命令获取所有可用版本和预发布版本的列表:bower info bootstrap --verbose

    这是我从中得到的版本:

    D:\git\test>bower info bootstrap --verbose
    bower bootstrap#*               cached https://github.com/twbs/bootstrap.git#3.3.7
    bower bootstrap#*             validate 3.3.7 against https://github.com/twbs/bootstrap.git#*
    
    {
      name: 'bootstrap',
      description: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
      keywords: [
        'css',
        'js',
        'less',
        'mobile-first',
        'responsive',
        'front-end',
        'framework',
        'web'
      ],
      homepage: 'http://getbootstrap.com',
      license: 'MIT',
      moduleType: 'globals',
      main: [
        'less/bootstrap.less',
        'dist/js/bootstrap.js'
      ],
      ignore: [
        '/.*',
        '_config.yml',
        'CNAME',
        'composer.json',
        'CONTRIBUTING.md',
        'docs',
        'js/tests',
        'test-infra'
      ],
      dependencies: {
        jquery: '1.9.1 - 3'
      },
      version: '3.3.7'
    }
    
    Available versions:
      - 4.0.0-alpha.5
      - 4.0.0-alpha.4
      - 4.0.0-alpha.3
      - 4.0.0-alpha.2
      - 4.0.0-alpha
      - 3.3.7
      - 3.3.6
      - 3.3.5
      - 3.3.4
      - 3.3.2
      - 3.3.1
      - 3.3.0
      - 3.2.0
      - 3.1.1
      - 3.1.0
      - 3.0.3
      - 3.0.2
      - 3.0.1
      - 3.0.0
      - 3.0.0-rc1
      - 3.0.0-rc.2
      - 2.3.2
      - 2.3.1
      - 2.3.0
      - 2.2.2
      - 2.2.1
      - 2.2.0
      - 2.1.1
      - 2.1.0
      - 2.0.4
      - 2.0.3
      - 2.0.2
      - 2.0.1
      - 2.0.0
      - 1.4.0
      - 1.3.0
      - 1.2.0
      - 1.1.1
      - 1.1.0
      - 1.0.0
    
    You can request info for a specific version with 'bower info bootstrap#<version>'
    

    【讨论】:

    • 我在 Bower 1.8.0 上,它认为是最新的。至少它是最新的 npm install。我可以尝试重新安装它,看看会发生什么。
    • bower install bootstrap#^4.0.0-alpha.5 results > zsh: no match found: bootstrap#^4.0.0-alpha.5
    • 请运行:bower info bootstrap --verbose 并在此处粘贴回复
    • 哦,发现这是zsh特有的,详细在这里:coderwall.com/p/nqckeq/zsh-bower-and-command-not-found你的ZSH正在做他自己的议程,所以你可以通过添加这个alias bower='noglob bower'来删除它的引导程序全局设置你的~/.zshrc 文件。
    • 谢谢!你是对的。添加“”将解决问题。所以 bower install bootstrap#^4.0.0-alpha.5 不起作用,但 bower install "bootstrap#^4.0.0-alpha.5" 对我有用。
    猜你喜欢
    • 2018-10-19
    • 2014-11-12
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2017-02-12
    相关资源
    最近更新 更多