相关疑难解决方法(0)

我是否提交了由npm 5创建的package-lock.json文件?

npm 5今天发布,其中一项新功能包括创建package-lock.json文件的确定性安装.

这个文件应该保存在源代码管理中吗?

我假设它类似于,yarn.lock并且composer.lock两者都应该保留在源代码控制中.

git version-control lockfile node.js npm

1164
推荐指数
11
解决办法
40万
查看次数

如何覆盖嵌套的NPM依赖项版本?

我想使用grunt-contrib-jasmineNPM包.它有各种依赖.依赖图的一部分如下所示:

?? grunt-contrib-jasmine@0.4.1
 ? ??? grunt-lib-phantomjs@0.2.0
 ? ? ??? phantomjs@1.8.2-2
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个版本中存在一个错误phantomjs,导致它无法在Mac OS X上正确安装.这在最新版本中已得到修复.

我怎样才能grunt-lib-phantomjs使用更新的版本phantomjs

一些额外的背景:

node.js npm

257
推荐指数
7
解决办法
11万
查看次数

npm install上超出了最大调用堆栈大小

我正在尝试运行npm install,这是从控制台输出:

npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8

npm ERR! Maximum call stack size exceeded
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>
Run Code Online (Sandbox Code Playgroud)

这是以下内容npm-debug.log:

113791 verbose stack RangeError: Maximum call stack size exceeded
113791 verbose stack     at Object.color (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js:115:32)
113791 verbose stack     at EventEmitter.log._format (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:252:51)
113791 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:138:24)
113791 verbose stack     at …
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm

83
推荐指数
13
解决办法
9万
查看次数

npm - 如何实际使用package-lock.json进行基于锁定版本的安装?

刚刚从3点到5点更新,以使用此功能.

对不起,我一定错过了一些非常明显的东西,但是如何在安装时让npm尊重package-lock.json文件中的固定版本?

假设我有package.json一些过时的套餐.做一个npm install会吸引新的东西,打破我的应用程序.

例如,我想要稳定的主要包是bootstrap- 我想暂时bootstrap@4.0.0-alpha.6上阻止它的版本,但是npm install找到4.0.0-beta.28.

如果我有npm update任何包,package-lock.json会更新.

我们去我的开发目录.

这是我的boot.rap的package.json条目:

"bootstrap": "^4.0.0-alpha.6"

这就是我对已安装的软件包和元数据的看法:

$ npm list 2>/dev/null | grep bootstrap
??? bootstrap@4.0.0-alpha.6
??? bootstrap-vue@0.16.1
? ??? bootstrap@4.0.0-alpha.6 deduped


(env) jluc@py$ grep bootstrap package.json package-lock.json
package.json:    "bootstrap": "^4.0.0-alpha.6",
package.json:    "bootstrap-vue": "^0.16.1",
package-lock.json:    "bootstrap": {
package-lock.json:      "version": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz",
package-lock.json:    "bootstrap-vue": {
package-lock.json:      "version": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-0.16.1.tgz",
package-lock.json:        "bootstrap": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.0.0-alpha.6.tgz",
Run Code Online (Sandbox Code Playgroud)

看起来不错.Lock是bootstrap-4.0.0-alpha.6.

但我如何使用实际使用 …

npm

27
推荐指数
2
解决办法
8654
查看次数

“npm 审计修复”究竟是做什么的?

npm audit fix旨在自动升级/修复 npm 包中的漏洞。但是,我还没有发现它究竟做了什么来修复这些漏洞。

我认为这npm audit fix会将依赖项和依赖项的依赖项升级到包的 semver 定义允许的最新版本——实际上与rm package-lock.json; npm install. 但是npm audit fix在锁定文件删除+重新安装后仍然会执行很多更改。

究竟是npm audit fix做什么的?例如,它是否安装了比相应package.json(但仍与 semver 兼容)允许的版本更新的依赖项版本?

npm package.json npm-audit

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

是否应将package-lock.json文件添加到.gitignore?

要锁定在项目上安装的依赖项的版本,该命令将npm install创建一个名为的文件package-lock.json.这是从Node.js v8.0.0npm v5.0.0开始的,正如你们中的一些人可能知道的那样.

尽管有关于提交此文件的Node.jsnpm建议,但是关于何时应该避免这样做的几个问题也是一种选择.通常我们在项目中承诺,但这是一个特殊的问题.

虽然我们应该package-lock.json默认提交文件,但我们有一个特定的情况我们不应该.举例来说,如果我们要测试的最新版本的项目依赖的,它可以增加一个选项package-lock.json进入.gitignore.

所以,问题如下:

  1. 应该将package-lock.json文件添加到.gitignore
  2. 是否有任何特殊情况,我们必须绝不可以这样做?

javascript git gitignore node.js npm

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

Docker 和 npm - gyp 错误!不好

一切都在与我的客户合作,直到我试图通过将我的客户服务从升级到,使用并再次构建它来解决一些网络断开连接的问题。react-scriptsdocker3.0.13.3.0npm install <package> --save

但后来它开始抱怨需要css-loaderstyle-loader,我安装了它们。然后它不起作用,我将我的设置恢复为3.0.1,卸载带有--save标志的以前的两个包,以便从中删除它node_modules/

现在,当我运行时docker-compose -f docker-compose-dev.yml build client虽然构建了客户端服务出现以下错误:

> fsevents@1.2.11 install /usr/src/app/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@11.12.0 | linux | x64
gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env …
Run Code Online (Sandbox Code Playgroud)

node.js npm docker

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

React Native错误:在项目“:react-native-reanimated”中找不到路径为“:expo-modules-core”的项目

我在 Android 文件夹中运行 React Native 捆绑包版本时收到以下错误。我尝试更新 Expo 并安装旧版本,但仍然遇到相同的错误。不确定下一步要尝试什么?

./gradlew bundleRelease --stacktrace
Run Code Online (Sandbox Code Playgroud)

结果出现以下错误

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating script.
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.lambda$apply$0(DefaultScriptPluginFactory.java:133)
        at org.gradle.configuration.DefaultScriptTarget.addConfiguration(DefaultScriptTarget.java:74)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:136)
        at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
        at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0(BuildOperationScriptPlugin.java:62)
        at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43)
        at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:62)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyScript(DefaultObjectConfigurationAction.java:149)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$000(DefaultObjectConfigurationAction.java:42)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$1.run(DefaultObjectConfigurationAction.java:75)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:183)
        at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:49)
        at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:37)
        at org.gradle.api.Script$apply.callCurrent(Unknown Source)
        at build_9e9o1sx2v1y7pbwabnmzhlvko.run(/Users/anderbard/Development/cloversocial/MyApp/node_modules/react-native-reanimated/android/build.gradle:111)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.lambda$apply$0(DefaultScriptPluginFactory.java:133)
        at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77) …
Run Code Online (Sandbox Code Playgroud)

react-native expo

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

为什么"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
查看次数

NPM 安装、测试、CI(无 devDependency)

我们的构建管道是npm install-> npm test-> 压缩工件。

然而,这意味着我们的工件包含所有 devDependency。如果我们这样做,npm --only=production我们会丢失 devDependency 但npm test会失败。

我们如何在没有devDependency 的情况下生成经过测试的工件?我们是否只需要相信我们的应用程序在使用它们进行测试后就能在没有 devDependency 的情况下运行?

额外问题:应该如何npm ci适应这个工作流程?

npm

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

从 8 升级到 9 后无法构建 Angular 项目

我已经使用该ng update工具将我的 Angular 项目从 8 升级到了 9 。在本地(Windows)一切正常,但是当我尝试在 docker 中构建项目时,出现以下错误:

Step 6/11 : RUN npm run build
  ---> Running in d60f739a56f6
 > check-it-frontend@0.0.0 build /app
 > ng build --prod
 Compiling @angular/core : es2015 as esm2015
 ERROR in EINVAL: invalid argument, rename '/app/node_modules/@angular/core/core.d.ts' -> '/app/node_modules/@angular/core/core.d.ts.__ivy_ngcc_bak'
 npm ERR! code ELIFECYCLE
 npm ERR! errno 1
 npm ERR! check-it-frontend@0.0.0 build: `ng build --prod`
 npm ERR! Exit status 1
 npm ERR! 
 npm ERR! Failed at the check-it-frontend@0.0.0 build script.
 npm ERR! This is …
Run Code Online (Sandbox Code Playgroud)

node.js typescript docker angular

5
推荐指数
1
解决办法
1714
查看次数

为什么在使用 npm install 时,package-lock.json 会导致 docker 容器构建失败?

网上有很多人用不同的方式问同样的问题,但没有明确的答案。任何人都可以理解到足以解释为什么docker buildpackage-lock.json应用程序中存在文件时会失败,而当文件不存在时会成功运行吗?貌似跟npm有关,但是不清楚。

每个人都说删除package-lock.json,但它存在是有原因的。

注意: npm install在我的本地机器上工作正常,只是在 docker 容器中失败。

如果我有这个 Dockerfile:

# First Stage: Builder
FROM node:13.12.0-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
Run Code Online (Sandbox Code Playgroud)

并运行这个:

docker build -t container-tag ./
Run Code Online (Sandbox Code Playgroud)

我明白了:

npm WARN tar ENOENT: no such file or directory, open '/app/node_modules/.staging/eventsource-c2615740/example/index.html'
npm WARN tar ENOENT: no such file or directory, open '/app/node_modules/.staging/eventsource-c2615740/example/sse-client.js'
npm WARN tar ENOENT: no such file or directory, open …
Run Code Online (Sandbox Code Playgroud)

node.js npm docker package-lock.json

5
推荐指数
1
解决办法
3183
查看次数