当package-lock.json存在时,npm install失败

Den*_*boy 5 json node.js npm npm-install package-lock.json

我有一些奇怪的问题package-lock.json.我们正在使用npm 5.6和节点8.9.2.

我们有一些依赖项目.开发人员可以安装deps并按照建议推送package-lock.json:

     ...
                    "dependencies": {
                        "source-map": {
                            "version": "0.6.1",
                            "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
                            "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
                            "dev": true
                        }
                    }
    ...
Run Code Online (Sandbox Code Playgroud)

他们从https://registry.npmjs.org/获取他们的依赖关系.现在我们有一些jenkins从一些神器中获取它的依赖关系,它作为https://registry.npmjs.org的 "代理" .

在某些错误上,构建失败了75%,如:

npm ERR! Unexpected end of JSON input while parsing near '...nalInternal" : {
Run Code Online (Sandbox Code Playgroud)

即使我在使用sudo npm clean cache --force(或删除.npm)之前清理缓存

错误始终发生在不同的地方.现在,当我package-lock.json在开始构建之前删除它时,它每次都运行良好.

生成一个新的package-lock.json.它不包含注册表URL,而是包含artifactory urls(https://artifactory/xxx).我认为它可能与它有关.所以我用package-lock.jsongenkins中的那个替换了git中的当前内容.我再次尝试但同样的错误和问题,只删除package-lock.json似乎解决了它,但在我读它时不建议忽略这个文件.

可能是什么问题?