$ docker run --rm alpine:3.8 sh -euxc '
apk add npm git
npm i -g bower
echo "{\"allow-root\": true}" > .bowerrc
echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
bower install
'
...
+ bower install
bower underscore#* CERT_HAS_EXPIRED Request to https://registry.bower.io/packages/underscore failed: certificate has expired
The best way to solve this arguably is to remove the DST Root CA X3 certificate:
$ docker run --rm alpine:3.8 sh -euxc '
apk add npm git
npm i -g bower
echo "{\"allow-root\": true}" > .bowerrc
echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
sed -i "/^mozilla\/DST_Root_CA_X3\.crt$/s/^/#/" /etc/ca-certificates.conf
update-ca-certificates
mv /etc/ssl/cert.pem /etc/ssl/cert.pem.bak
bower install
'
...
+ sed -i '/^mozilla\/DST_Root_CA_X3\.crt$/s/^/#/' /etc/ca-certificates.conf
+ update-ca-certificates
WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping
+ mv /etc/ssl/cert.pem /etc/ssl/cert.pem.bak
+ bower install
bower underscore#* not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#* resolve https://github.com/jashkenas/underscore.git#*
bower underscore#* download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#* extract archive.tar.gz
bower underscore#* resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#* install underscore#1.13.6
underscore#1.13.6 bower_components/underscore
The other ways disable ssl verification:
$ docker run --rm alpine:3.9 sh -euxc '
apk add npm git
npm i -g bower
echo "{\"allow-root\": true, \"strict-ssl\": false}" > .bowerrc
echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
bower install
'
...
+ echo '{"allow-root": true, "strict-ssl": false}'
...
+ bower install
bower underscore#* not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#* resolve https://github.com/jashkenas/underscore.git#*
bower underscore#* download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#* extract archive.tar.gz
bower underscore#* resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#* install underscore#1.13.6
underscore#1.13.6 bower_components/underscore
$ docker run --rm alpine:3.9 sh -euxc '
apk add npm git
npm i -g bower
echo "{\"allow-root\": true}" > .bowerrc
echo "{\"name\": \"whatever\", \"dependencies\": {\"underscore\": \"latest\"}}" > bower.json
NODE_TLS_REJECT_UNAUTHORIZED=0 bower install
'
...
+ NODE_TLS_REJECT_UNAUTHORIZED=0 bower install
bower underscore#* not-cached https://github.com/jashkenas/underscore.git#*
bower underscore#* resolve https://github.com/jashkenas/underscore.git#*
bower underscore#* download https://github.com/jashkenas/underscore/archive/1.13.6.tar.gz
bower underscore#* extract archive.tar.gz
bower underscore#* resolved https://github.com/jashkenas/underscore.git#1.13.6
bower underscore#* install underscore#1.13.6
underscore#1.13.6 bower_components/underscore