我正试图在一台控制互联网接入的机器上安装一些npm软件包。我可以请求网络团队授予我访问远程主机/端口的权限,但我不清楚需要访问哪些主机/端口。
通过npm安装的所有软件包是否都可以通过单个主机/端口获得?如果没有,如何确定需要访问的主机/端口列表?
从安全的角度来看,开放对npm主机/端口的访问可能不是最好的方法,我认为最好将npm模块下载到另一台机器上,然后上传到安全主机上。
发布于 2017-08-19 07:46:53
有两个存储npm包的标准位置:https://registry.npmjs.org和https://github.com。你必须只能访问他们。
安装一些包并创建npm-收缩包装.using文件(使用命令npm shrinkwrap for npm<5,在npm>5中这个文件称为Packy-lock.json,它是自动生成的)。打开创建的锁文件,查看每个包的resolved字段。
npm.shrinkwrap文件的部分:
"lodash": {
"version": "4.17.4",
"from": "lodash@4.17.4",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz"
},
"ng-bootstrap-lightbox": {
"version": "1.0.1",
"from": "git+https://github.com/themyth92/ng-bootstrap-lightbox.git",
"resolved": "git+https://github.com/themyth92/ng-bootstrap-lightbox.git#b44c086723ccf066834b3edb654273c4661a4ad1"
}https://stackoverflow.com/questions/45760625
复制相似问题