标签: package-lock.json

NPM-如何安装新软件包而不进行更新或添加package.json中描述的软件包

这是一个很难的问题,我将尽力解释。

如何添加没有安装依赖项或新软件包的新软件包(在package / -lock.json中定义)?

例如:当前,我们有package.json和package-lock.json来维护版本控制。

但是,如果我们尝试添加新软件包,则会更新/添加其他软件包(与package.json或package-lock.json相关)。

目的只是添加新软件包,将这些软件包信息添加到package.json和package-lock.json中,而不会影响当前安装的软件包。

npm package.json npm-install package-lock.json

7
推荐指数
1
解决办法
2104
查看次数

NPM-如何覆盖我的依赖项依赖项之一?

最近,npm发布了npm audit命令。当您npm i通知任何漏洞时,它将自动运行。我有一个简单的依赖树,如下所示:

package A
package B
  package B dependency
package C
Run Code Online (Sandbox Code Playgroud)

package.jsondependencies字段中包括A,B和C。B需要它自己的依赖关系,npm警告说它具有漏洞。我的问题是,如何覆盖该package B dependency版本以使用最新版本?我已经读过,这要么是工作,shrinkwrap.json要么是手动编辑,package-lock.json但是我找不到任何具体的示例来说明如何做。

确实看到Yarn支持中的resolutions字段package.json,但是我没有使用Yarn。有没有办法通过npm开箱即用来完成此任务?

dependencies shrinkwrap npm package.json package-lock.json

7
推荐指数
0
解决办法
2832
查看次数

为什么"npm install"修改package-lock.json?为什么要把它交给git呢?

当我在项目中运行"npm install"时,它经常修改package-lock.json,例如,如果我从另一台计算机(具有不同节点或npm版本)处理同一项目.

但与此同时,文档建议该文件应该添加到版本控制(在我的情况下为git):

https://docs.npmjs.com/files/package-lock.json

此文件旨在提交到源存储库,并用于各种目的:...

那么我应该在切换工作机器时或者在其他人的情况下来回提交npm所做的更改npm install吗?这将是一场噩梦.

目前我只是放弃了由npm对package-lock.json所做的任何更改,并且它一直正常工作.所以我不妨把它添加到.gitignore ......

我做错了吗?我应该用npm ci吗?我不会把我的电脑称为"CI",它只是一台开发机器,我为什么要在那里使用它?

基本上我和这位先生有同样的问题:

https://github.com/npm/npm/issues/18103#issuecomment-370401935

(遗憾的是,我无法在该问题上添加评论或根本无法创建新问题,npm repo已禁用问题)

node.js npm package-lock.json

7
推荐指数
1
解决办法
1390
查看次数

package-lock.json中黑色包下的名称不断自动删除和添加

在 上npm install,我看到 inpackage-lock.json属性packages[""].name有时被删除,有时被添加。既然它出现在 git 更改中,如何防止这种更改?

包锁.json

javascript npm npm-install package-lock.json

7
推荐指数
1
解决办法
1842
查看次数

NPM:更改 package-lock.json 中的注册表

出于安全原因,我需要一个特定的注册表,但在package-lock.json我仍然保留https://registry.npmjs.org/

有什么办法可以强制吗?

node.js npm package-lock.json npm-registry

6
推荐指数
1
解决办法
1297
查看次数

如何为现有的 Lerna mono-repo 生成每个包的 package-lock.json

我们有一个现有的Lerna mono-repo,其结构如下:

/
  /packages
    /package1
    /package2
    /package3
    ...
Run Code Online (Sandbox Code Playgroud)

我们目前在我们的项目中使用 Yarn,实际上只有一个顶级yarn.lock文件,没有每个包,yarn.lock因为我们从未使用过工作区。

我们正在尝试切换到 npm,并希望package-lock.json为 mono-repo 中的每个包生成一个文件,而不仅仅是顶级。我们应该怎么做?运行npm run lerna bootstrap --hoist会创建一个顶级锁文件,但不包含任何"dev": true标签,也不包含任何本地包。我已经能够做的最好的是做npm run lerna add somePackage --scope=package1,这虽然somePackage已经存在package,导致package-lock.json被在单回购为每个包生成的文件除外package1。此外,生成的package-lock.json文件没有任何开发依赖项。

此外,我无法进入每个包并运行,npm install因为npm不知道我们在其他本地包所依赖的 mono-repo 中拥有的许多本地包。奇怪的是,即使在package-lock.json通过 .npm 从 npm 生成的文件中lerna add,这些文件也不包含对本地包的任何引用,只有外部包。

那么:如何为package-lock.json还包含 devDependencies 的 mono-repo 中的每个包生成一个文件?

npm lerna monorepo package-lock.json

6
推荐指数
0
解决办法
1659
查看次数

如何防止“npm install”或“npm remove”删除我的个人软件包?

我想为node_modules/my-package/...我的图书馆之一创建一个环境。

我的package.json认为是有效的。我有一个名字和一个版本以及其他一些字段:

(this is node-modules/my-paclage/package.json)
{
    "name": "my-package",
    "version": "1.0.0",
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后我想将它添加到package-lock.json文件中,以便 npm 知道它。如果你不这样做,一个npm install ...npm uninstall ...实际上删除了my-package我在node-modules/....

所以我决定将信息添加到我的package-lock.json. 我添加的只是这样的版本:

(this is package-lock.json)
...
"dependencies": {
    ...
    "my-package": {
        "version": "1.0.0"
    }
    ...
}
....
Run Code Online (Sandbox Code Playgroud)

同样,语法本身是正确的。但是,通过该条目,当我尝试执行 an npm install ...ornpm uninstall ...它时,它告诉我:

错误 404 未找到:krypton-search@1.0.0

我究竟做错了什么?

node.js npm package.json package-lock.json

6
推荐指数
1
解决办法
2627
查看次数

Lerna 没有为每个包生成 package-lock.json

以下是问题的描述:-

预期行为是为包文件夹中的每个包生成一个 package-lock.json 文件。

当前行为 我当前的项目结构如下:-

packages/internal-package-1/package.json
packages/internal-package-2/package.json
packages/internal-package-3/package.json
lerna.json
package.json
package-lock.json
Run Code Online (Sandbox Code Playgroud)

现在如上图所示,只有一个 package-lock.json 文件是为 . 整个项目,它只包含顶部 package.json 文件中的依赖项。

我的期望是对于每个 package.json 文件都应该生成相应的 package-lock.json 但事实并非如此。此外,顶层 package-lock.json 文件仅包含顶层 package.json 中的依赖项,而不包含在每个 package.json 文件中声明的所有依赖项。

现在,如果我们尝试在不同的项目中使用例如 internal-package-1 ,因为此包没有锁定文件,则会下载最新版本的依赖项,这不是预期的行为。

可能的解决方案 可能的解决方案或期望是为每个包生成一个锁定文件。

lerna.json

{
  "packages": [
    "packages/*",
    "packages/Foundation/src/SampleNestedModule"    
  ],
  "version": "0.0.0"
}
Run Code Online (Sandbox Code Playgroud)

这个问题正在影响我们,因为锁定文件不是为每个包生成的,如果我尝试在不同的项目中使用 internal-package-1,那么锁定的依赖项不会被下载,但它们的最新版本会被下载。

我们正在提升依赖项,因此我们修改了 npm install 脚本,如下所示:- "install": "lerna bootstrap --hoist",这正确提升了依赖项,但不会为单个包生成锁定文件。

可执行版本

lerna --version 3.17.0
npm --version   6.10.1
yarn --version  Not using yarn
node --version  10.16.0
| OS | Version |
MACOS
| NAME …
Run Code Online (Sandbox Code Playgroud)

lerna package-lock.json

6
推荐指数
1
解决办法
2194
查看次数

dependabot 只更新锁定文件

我们最近从切换greenkeeperdependabot我们的依赖检查,我们注意到,dependabot在打开的PR只改变package-lock.json离开package.json,因为它是。

另一方面,greenkeeper, 正在提交对两个文件的更改。

到底是怎么回事?这是正常的还是我们在设置中遗漏了什么?

github package.json greenkeeper package-lock.json dependabot

6
推荐指数
1
解决办法
1068
查看次数

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