标签: package-lock.json

package-lock.json 中的 npm "resolved" 字段随着 JFrog artifactory 不断变化

我们有一个私有的 JFrog 工件(名称在下面匿名),它在项目根目录 .npmrc 文件中配置了 npm:

registry=https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/
Run Code Online (Sandbox Code Playgroud)

开发人员之间通过 Git 共享的 package-lock.json 文件中的已解析字段在“npm install”运行之间不断变化,而对 package.json 没有任何更改。

有时,一个 dl 查询参数(指向完全相同的 URL)被添加到解析的 URL 中:

- "resolved": "https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/@sailshq/lodash/-/lodash-3.10.3.tgz",
+ "resolved": "https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/@sailshq/lodash/-/lodash-3.10.3.tgz?dl=https://artifactory.jfrog.private.com/@sailshq/lodash/-/lodash-3.10.3.tgz",
Run Code Online (Sandbox Code Playgroud)

有时查询参数指向 npmjs.org 注册表:

 - "resolved": "https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/aproba/-/aproba-1.2.0.tgz",
 - "resolved": "https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/aproba/-/aproba-1.2.0.tgz?dl=https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
Run Code Online (Sandbox Code Playgroud)

有时该字段直接指向 npmjs.org 存储库:

- "resolved": "https://artifactory.jfrog.private.com:443/api/npm/npm-registry-virtual/acorn/-/acorn-3.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
Run Code Online (Sandbox Code Playgroud)

这些变化中的任何一个也可能朝着相反的方向发展。

这真的很烦人,因为这意味着我们不断在 package-lock.json 中进行无意义的更改,这会导致合并冲突并经常阻止 npm ci 正确执行。npm cache clean --force 似乎没有帮助。我知道 npm install 可以自动解决 package-lock.json 合并冲突,但这对 npm ci 没有帮助(因为重点是不在CI 环境中运行 npm install )。而且,无论如何,查看虚拟 npm 注册表如何在内部解析包有什么好处(我怀疑这里正在发生)?

是否有某种配置选项可以防止 JFrog Artifactory 对虚拟 npm 注册表中已解析的包 URL 进行此类更改?或者它可能是 …

artifactory npm package-lock.json

27
推荐指数
1
解决办法
3355
查看次数

将npm的"package-lock.json"置于版本控制之下有什么意义?

将npm package-lock.json置于版本控制之下有什么意义?根据我的经验,这个文件源控制引起了比效率提升更多的麻烦和混乱.

拥有package-lock.json源代码控制下使一个大难题每个人谁添加/删除一个开发者/修改的任何节点模块时需要解决冲突的分支之间.特别是在复杂/大型应用程序上工作,其中package-lock.json可以长达数万行.即使只是吹掉node_modules并运行一个新的,npm install也会在package-lock中产生剧烈的变化.

关于包锁还有其他几个SO问题:

和一个关于包锁的大量对话的GitHub问题:

这让我觉得仍有广泛的不确定因素需要消除.

根据文件

package-lock.json 为npm修改node_modules树或package.json的任何操作自动生成.

你为什么要把一个自动生成的文件放在源代码管理下呢?

上面的GitHub问题详细说明了一些人为了应对与package-lock.json的混淆,如何将npm install脚本更改为rm -f package-lock.json && npm install,这也感觉不正确.

似乎package-lock.json正在努力成为节点模块依赖关系的确切版本的真实来源,但这不正是package.json的功能吗?什么时候解决这个文件中的合并冲突的难以忍受的痛苦开始得到回报?

version-control npm package.json package-lock.json

22
推荐指数
3
解决办法
6856
查看次数

从package-lock.json创建package.json

我下载了一个主题,它有一个package-lock.json文件但没有package.json文件.有没有办法可以从package-lock.json文件生成package.json.如何仅使用package-lock.json文件安装节点模块.有没有办法做到这一点?

node.js webpack package.json package-lock.json

22
推荐指数
4
解决办法
9681
查看次数

package-lock.json也应该发布吗?

npm 5介绍了package-lock.json,其中的文档就在这里.

它声明该文件旨在包含在版本控制中,因此任何克隆您的包并安装它的人都将具有相同的依赖版本.换句话说,您不应将其添加到.gitignore文件中.

它没有说明的是该文件是否包含在已发布的包中.这个问题可以改为:应该将package-lock.json包含在.npmignore中吗?

gitignore node.js npm npmignore package-lock.json

20
推荐指数
1
解决办法
3666
查看次数

针对hoek节点模块的Github潜在安全漏洞错误

今天github在我的github存储库上显示以下错误:

我们在您的某个依赖项中发现了潜在的安全漏洞../package-lock.json中定义的依赖项具有已知的安全漏洞,应予以更新.

单击"查看易受攻击的依赖关系"按钮后显示以下消息

5.0.3之前的hoek节点模块通过'merge'遭受假定不可变数据(MAID)漏洞的修改

直到昨天它没有出现这样的错误.我没有对这个存储库进行任何超过5天的推送.不知道为什么会这样.

git github node-modules package.json package-lock.json

19
推荐指数
4
解决办法
6692
查看次数

Package-lock.json - 需要vs依赖项

在依赖对象的package-lock.json中,我有两个requiresdependencies字段,例如

  "requires": {
    "@angular-devkit/core": "0.8.5",
    "rxjs": "6.2.2",
    "tree-kill": "1.2.0",
    "webpack-sources": "1.3.0"
  },
  "dependencies": {
    "rxjs": {
      "version": "6.2.2",
      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz",
      "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==",
      "dev": true,
      "requires": {
        "tslib": "1.9.3"
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?为什么一些依赖列在requires,其他的dependencies,其中一些在这两个领域?

javascript node.js npm package-lock.json

18
推荐指数
2
解决办法
1966
查看次数

如何解决`package-json found. ...要清除此警告,请删除 package-lock.json`,我认为它在安装 yarn 时与 npm 重叠

yarn install在 Visual Studio Code 中使用了该命令,但出现错误。以下错误消息。

package-lock.json found.
Your project contains lock files generated by tools other than Yarn.
It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files.
To clear this warning, remove package-lock.json.
Run Code Online (Sandbox Code Playgroud)

我认为它package-lock.json与 yarn.lock的 npm冲突重叠 。

针对问题采取行动。

移除package-lock.json,移除node_modules

这个问题仍然没有解决。

谢谢你!

npm yarnpkg package-lock.json

18
推荐指数
2
解决办法
2万
查看次数

删除`package-lock.json`以快速解决冲突

通常,在建立团队的过程中,我遇到了合并冲突,package-lock.json而我的快速解决方案一直是删除文件并使用重新生成文件npm install。我尚未认真考虑此修复程序的含义,因为它以前没有引起任何可察觉的问题。

删除文件并以npm这种方式重新创建而不是手动解决冲突是否存在问题?

javascript node.js npm package-lock.json

17
推荐指数
3
解决办法
1万
查看次数

SassError:未定义的变量。依赖失败

我有一个用于 Angular 项目的 CI/CD 管道,昨天运行良好,但今天相同的代码在构建中返回了几个错误:

\n
./src/styles.scss.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/styles.scss\n- Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):         SassError: Undefined variable.\n    \xe2\x95\xb7 142 \xe2\x94\x82       values: $utilities-border-colors\n    \xe2\x94\x82               ^^^^^^^^^^^^^^^^^^^^^^^^\n    \xe2\x95\xb5   node_modules\\bootstrap\\scss\\_utilities.scss 142:15  @import   src\\styles.scss 7:9                                 root stylesheet\n\n./src/styles.scss - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):\nHookWebpackError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):\nSassError: Undefined variable.\n    \xe2\x95\xb7\n142 \xe2\x94\x82       values: $utilities-border-colors\n    \xe2\x94\x82               ^^^^^^^^^^^^^^^^^^^^^^^^\n    \xe2\x95\xb5\n  node_modules\\bootstrap\\scss\\_utilities.scss 142:15  @import\n  src\\styles.scss 7:9                                 root stylesheet\n    at tryRunOrWebpackError (C:\\User\\user\\project\\node_modules\\webpack\\lib\\HookWebpackError.js:88:9)\n    at __webpack_require_module__ (C:\\User\\user\\project\\node_modules\\webpack\\lib\\Compilation.js:4979:12)\n    at __webpack_require__ (C:\\User\\user\\project\\node_modules\\webpack\\lib\\Compilation.js:4936:18)\n    at C:\\User\\user\\project\\node_modules\\webpack\\lib\\Compilation.js:5007:20\n    at symbolIterator (C:\\User\\user\\project\\node_modules\\neo-async\\async.js:3485:9)\n    at done (C:\\User\\user\\project\\node_modules\\neo-async\\async.js:3527:9)\n    at Hook.eval [as callAsync] …
Run Code Online (Sandbox Code Playgroud)

build node.js angular package-lock.json

16
推荐指数
3
解决办法
3万
查看次数

npm5相当于yarn的--pure-lockfile标志?

我正在寻找一个相当于纱线的--pure-lockfile旗帜.

在CI中安装依赖项时,此标志非常有用,当您希望它读取锁定文件但不修改它时.

npm v5有同等效力吗?

npm package-lock.json

15
推荐指数
1
解决办法
2274
查看次数