小编Luz*_*uze的帖子

Github 操作:Git diff master...HEAD fatal:没有合并基础

一些背景

长话短说:jest --changedSince=master当我打开一个新的拉取请求时,我正在尝试运行。jest ChangedSince 标志git diff master...HEAD在后台运行。这导致了一个我似乎无法理解的错误。

现在的情况

为了调试这个,我有一个Github Action与以下内容非常相似的步骤:

runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - run: |
        git fetch --no-tags --depth=1 origin master
        git checkout -t origin/master
        git checkout pull/1/merge
        git diff master...HEAD
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误(这与 Jest 返回的错误相同):

fatal: refs/remotes/origin/master...HEAD: no merge base
Run Code Online (Sandbox Code Playgroud)

我尝试过的

当我在本地运行它时,问题不会发生(想象一下)。我确实意识到这里最大的问题很可能是该actions/checkout@2操作没有获取整个存储库。这就是我添加git fetch&git checkout -t origin/masterpull/1/merge命令的原因。

我确实尝试运行git branch -a调试是否按预期工作,结果如下:

* (HEAD detached at pull/1/merge)
  master
  remotes/origin/master
  remotes/pull/1/merge
Run Code Online (Sandbox Code Playgroud)

运行所需的所有参考git diff master...HEAD …

git github-actions

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

package.json 覆盖依赖项 对等依赖项

在我的一个项目中运行时,npm i出现以下错误:

npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR!   react@"^17.0.2" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.13.1" from react-qr-barcode-scanner@1.0.6
npm ERR! node_modules/react-qr-barcode-scanner
npm ERR!   react-qr-barcode-scanner@"*" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
Run Code Online (Sandbox Code Playgroud)

我已阅读有关overrides属性的内容,package.json但这似乎仅适用于覆盖“常规”依赖项。

我也知道我可以简单地npm i …

node.js npm node-modules package.json peer-dependencies

8
推荐指数
1
解决办法
1908
查看次数

如何在 Safari 15 中控制网站着色

在 Safari 15 中,发布了一项新功能,该功能可以对地址栏和选项卡栏进行着色以匹配当前网站标题的颜色。

我注意到这个新功能不适用于我之前创建的任何网站。这让我想知道。这个网站着色功能到底是如何工作的?我们可以控制条形图使用哪种颜色或和CSS的组合吗?HTMLCSS

html css safari

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

Heroku 无法加载 ./.env

我的问题

我在 Heroku 生产中加载环境变量时遇到问题。当推送到 Heroku 时,我在构建脚本期间收到以下错误消息:

Failed to load ./.env.
Run Code Online (Sandbox Code Playgroud)

当前设置

.env在本地使用我的应用程序根目录中的文件。我可以使用该插件成功加载环境变量,dotenv-webpack如下所示:

//webpack.config

const Dotenv = require('dotenv-webpack')
module.exports = {
  // other settings...
  
  plugins: [
    new Dotenv(),
  ]
};
Run Code Online (Sandbox Code Playgroud)

加载环境变量:

//server.js

require('dotenv').config();
console.log(process.env.MY_VARIABLE);
Run Code Online (Sandbox Code Playgroud)

这在本地很有用,但在 Heroku 上却失败了。

注意:我的配置变量已在 Heroku 上设置,所以这不是问题。


我尝试过的

我已经尝试.env从我的应用程序的根目录强制加载文件,如下所示:

new Dotenv({ path: path.resolve(__dirname, './.env') });

有人还指出 Heroku 环境可能是系统范围的环境变量,所以我尝试使用以下方式加载它们:

new Dotenv({ systemVars: true });

这些尝试都不适合我。


我猜

我注意到 Heroku 将他们的.env文件保存在./tmp/build_someRandomBuildId/.env. 我的猜测是该.env文件不在目录的根目录下,因此 dotenv 找不到它。也无法在我的 Webpack 配置中对该文件的位置进行硬编码,因为每次构建时构建 ID 都是随机的。有没有办法告诉 Webpack …

heroku environment-variables webpack dotenv

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