Warm tip: This article is reproduced from serverfault.com, please click

node.js-Heroku构建由于Yarn和npm lockfile冲突而失败

(node.js - Heroku build failing due to Yarn and npm lockfile conflict)

发布于 2017-11-11 13:10:26

我正在尝试使用Heroku CLI在Heroku上部署React Web应用程序。但是当我跑步时

git push heroku主

从我的项目文件夹中,它抛出错误:

Counting objects: 213, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (212/212), done.
Writing objects: 100% (213/213), 515.89 KiB | 0 bytes/s, done.
Total 213 (delta 40), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Node.js app detected
remote: 
remote: -----> Build failed
remote:  !     Two different lockfiles found: package-lock.json and 
yarn.lock
remote: 
remote:        Both npm and yarn have created lockfiles for this 
application,
remote:        but only one can be used to install dependencies. 
Installing
remote:        dependencies using the wrong package manager can 
result in missing
remote:        packages or subtle bugs in production.
remote: 
remote:        - To use npm to install your application's 
dependencies please delete
remote:          the yarn.lock file.
remote: 
remote:          $ git rm yarn.lock
remote: 
remote:        - To use yarn to install your application's 
dependences please delete
remote:          the package-lock.json file.
remote: 
remote:          $ git rm package-lock.json
remote:     
remote:        https://kb.heroku.com/why-is-my-node-js-build-
failing-because-of-conflicting-lock-files
remote: 
remote:  !     Push rejected, failed to compile Node.js app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to MyAPP.
 remote: 
 To https://git.heroku.com/MyAPP.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 
https://git.heroku.com/MyAPP.git'

由于使用npm,我做了rm并删除了yarn锁定文件。仍然出现相同的错误。现在,当我实际执行操作时rm yarn.lock,在终端中找不到任何条目。知道为什么Heroku CLI坚持认为我的目录中仍然有yarn lock文件。

Questioner
SeaWarrior404
Viewed
11
MorganIsBatman 2017-11-12 00:35:53

在将其推送到Heroku之前,你是否要回到主分支?

对于我来说,最常见的情况是,当我进行代码更改然后“ git push heroku master”更改时出现此类问题,但我的master分支尚未更新,因为我尚未提交本地更改。

尝试

git commit -m 'some changes'

然后

git push heroku master