bower安装self_signed_cert_in_chain

时间:2013-10-02 18:07:23

标签: security ssl install ssl-certificate bower

我正在使用git bash在windows中构建一个角度应用程序,到目前为止我已经能够使用yo搭建,没有问题,但是当我尝试发出以下命令时。有人可以指点我来解决这个问题。

bower安装angular-bootstrap

我收到以下错误:

bower error         Request to https://bower.herokuapp.com/packages/angular-reso
urce failed: SELF_SIGNED_CERT_IN_CHAIN

Stack trace:
Error: Request to https://bower.herokuapp.com/packages/angular-resource failed:
SELF_SIGNED_CERT_IN_CHAIN
    at createError (c:\Users\arusarka\AppData\Roaming\npm\node_modules\bower\nod
e_modules\bower-registry-client\lib\util\createError.js:2:15)
    at Request._callback (c:\Users\arusarka\AppData\Roaming\npm\node_modules\bow
er\node_modules\bower-registry-client\lib\lookup.js:97:29)
    at self.callback (c:\Users\arusarka\AppData\Roaming\npm\node_modules\bower\n
ode_modules\request\request.js:129:22)
    at Request.EventEmitter.emit (events.js:95:17)
    at Request.request.emit (c:\Users\arusarka\AppData\Roaming\npm\node_modules\
bower\node_modules\bower-registry-client\node_modules\request-replay\index.js:69
:33)
    at ClientRequest.self.clientErrorHandler (c:\Users\arusarka\AppData\Roaming\
npm\node_modules\bower\node_modules\request\request.js:239:10)
    at ClientRequest.EventEmitter.emit (events.js:95:17)
    at CleartextStream.socketErrorListener (http.js:1528:9)
    at CleartextStream.EventEmitter.emit (events.js:95:17)
    at SecurePair.<anonymous> (tls.js:1368:19)

5 个答案:

答案 0 :(得分:66)

它最终对我有用。这些是我采取的步骤:

  1. 从npm npm uninstall bowernpm uninstall -g bower
  2. 卸载bower
  3. 从npm npm install bower-canarynpm install -g bower-canary
  4. 安装bower-canary
  5. 使用以下内容在项目目录中创建.bowerrc以关闭SSL:
  6. { "strict-ssl": false,  "https-proxy": "" }
    
    1. 然后再试一次bower install angular-bootstrap

答案 1 :(得分:23)

在Appdata的npm文件夹中搜索.bowerrc,打开文件并包含natdico提到的属性,如下所示:

{
    "directory": "bower_components",
    "strict-ssl": false, 
    "https-proxy": ""
}

答案 2 :(得分:12)

如果您可以访问属于链的自签名CA证书,则可以将其添加到.bowerrc文件中,如下所示:

{
  ...
  "ca": "/path/to/cacert.pem",
  ...
}

而不是像其他答案所暗示的那样禁用SSL。

禁用SSL会让您解决此问题。但是,这样做会带来在未来为自己制造更大问题的风险。

  来自Bower的

documentation

答案 3 :(得分:1)

尝试通过运行以下命令为npm设置注册表配置:

npm config set registry http://registry.npmjs.org/

我试过,它对我有用。

答案 4 :(得分:0)

将以下行添加到项目.bowerrc中的directory文件中:

"strict-ssl": false,
 "https-proxy": "" .

您的.bowerrc应如下所示:

{
 "directory": "app/bower_components",
 "strict-ssl": false,
 "https-proxy": "" 
 }