Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我是否注定要犯下罪行';s`.pnp.js`文件?_Javascript_Node.js_Git_Yarnpkg - Fatal编程技术网

Javascript 我是否注定要犯下罪行';s`.pnp.js`文件?

Javascript 我是否注定要犯下罪行';s`.pnp.js`文件?,javascript,node.js,git,yarnpkg,Javascript,Node.js,Git,Yarnpkg,纱线包括一个可选组件,可将节点_模块移出项目目录。在此过程中,它创建了一个.pnp.js文件,其中引用了硬盘上的各种依赖路径 该文件是自动生成的,有几千行长,似乎引用了运行纱线安装的机器的特定路径 .pnp.js是否意味着与其余代码一起提交?我似乎找不到关于这个的任何信息,尽管这个文件看起来没有用。ConisDeed最佳实践是什么?为什么?我在一个问题上找到了(纱线的主要维护者),询问.gitignore中应包含哪些内容。它可能会回答您的问题: 纱线/插件和纱线/版本包含当前存储库中使用的纱线

纱线包括一个可选组件,可将
节点_模块
移出项目目录。在此过程中,它创建了一个
.pnp.js
文件,其中引用了硬盘上的各种依赖路径

该文件是自动生成的,有几千行长,似乎引用了运行
纱线安装的机器的特定路径

.pnp.js
是否意味着与其余代码一起提交?我似乎找不到关于这个的任何信息,尽管这个文件看起来没有用。ConisDeed最佳实践是什么?为什么?

我在一个问题上找到了(纱线的主要维护者),询问
.gitignore
中应包含哪些内容。它可能会回答您的问题:

  • 纱线/插件
    纱线/版本
    包含当前存储库中使用的纱线版本(由
    纱线集版本
    定义)。您将希望对其进行版本控制(这可以防止潜在问题,例如,如果两名工程师使用具有不同功能的不同纱线版本)

  • .warn/unplugged
    可能总是被忽略,因为它可能包含本机版本

  • .warn/build state.yml
    也应该被忽略,因为它包含构建信息

    • 如果出于某种原因您将版本
      拔出
      ,那么保持
      构建状态也可能是有意义的
  • .warn/cache
    可能会被忽略,但您需要运行
    warn install
    来重新生成它

    • 对它进行版本控制可以解锁我们所说的——不过这是可选的
  • .pnp.js
    (以及潜在的
    .pnp.data.json
    )与缓存在同一条船上。如果将缓存保留在存储库中,请将其添加到存储库中,否则请忽略它

  • warn.lock
    应始终存储在存储库中()

因此,总结一下:

如果使用零安装:

.yarn/unplugged
.yarn/build-state.yml
.yarn/*
!.yarn/releases
!.yarn/plugins
.pnp.*
如果您不使用零安装:

.yarn/unplugged
.yarn/build-state.yml
.yarn/*
!.yarn/releases
!.yarn/plugins
.pnp.*

正如一位评论者所指出的那样,还有出色的评论。我唯一的批评是他们在那里展示的方式,我认为他们应该将常见的方式合并为一种,然后将零安装和非安装的特殊情况分开。这就是我是如何得到它的。但请再次注意这篇文章,因为其中的一些(例如
.warn/sdk
)是可选添加或不添加的

# ------- yarn -------
# see excellent notes at: https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
# Also: `yarn.lock` and `.yarnrc.yml` (or it's older counterpart .yarnrc) "should always be stored in your repo"
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

## --> ADD if using zero-install, otherwise do NOT:
#!.yarn/cache

## --> ELSE ADD if NOT using yarn's zero-install:
.pnp.*

# ------- end yarn -------

zero install是一个Thread 2/berry功能,允许您克隆和运行