Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 Thread.lock已在dev/live server上修改_Javascript_Node.js_Yarnpkg - Fatal编程技术网

Javascript Thread.lock已在dev/live server上修改

Javascript Thread.lock已在dev/live server上修改,javascript,node.js,yarnpkg,Javascript,Node.js,Yarnpkg,这是一个很奇怪的问题。我相信在以前版本的纱线中没有,或者是包装问题。我正在MacOS上使用Thread并将应用程序部署到live server。两种面料上的纱线都是最新的1.12.1 在本地主机上: 我删除了node_模块目录 我也拆下了锁 我运行Thread install来安装所有新的依赖项 现在,我使用Thread.lock和: 我删除了node_模块目录 我运行Thread install来安装所有新的依赖项-它应该使用Thread.lock,而不是修改它 问题是live server上

这是一个很奇怪的问题。我相信在以前版本的纱线中没有,或者是包装问题。我正在MacOS上使用Thread并将应用程序部署到live server。两种面料上的纱线都是最新的1.12.1

在本地主机上:

我删除了node_模块目录 我也拆下了锁 我运行Thread install来安装所有新的依赖项 现在,我使用Thread.lock和:

我删除了node_模块目录 我运行Thread install来安装所有新的依赖项-它应该使用Thread.lock,而不是修改它 问题是live server上的Thread.lock文件被修改

当我运行git diff时,我开始了解diff:

   resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
   integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==

-abbrev@1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-  integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
 accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
   version "1.3.7"
   resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
@@ -1071,19 +1066,11 @@ anymatch@~3.1.1:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"

-aproba@^1.0.3, aproba@^1.1.1:
+aproba@^1.1.1:
正如您在live server上看到的abbrev@1从此处删除,aproba将从aproba@^1.0.3、aproba@^1.1.1:更改为aproba@^1.1.1:

原因可能是什么?在它没有发生之前,以及在我提交修改过的纱线时,都没有在live server上修改它。

使用

yarn install --frozen-lockfile
根据:

如果您需要可复制的依赖项,这通常是连续集成系统的情况,那么应该传递-freezed lockfile标志

这是纱线安装的行为:

安装package.json中列出的所有依赖项 在“本地节点\模块”文件夹中

纱线.lock文件的使用方式如下:

如果存在warn.lock并且足以满足所有依赖项 在package.json中列出了warn.lock中记录的确切版本 已安装,且纱线锁将保持不变。纱线不会检查是否有裂缝 更新版本。 如果纱线没有锁紧装置,或不足以满足 package.json中列出的所有依赖项,例如,如果 手动向package.json添加依赖项,Thread将查找最新的 满足package.json中约束的可用版本。这个 结果将写入warn.lock。 如果你想确保纱线。锁是 未更新,请使用-冻结锁定文件

使用

根据:

如果您需要可复制的依赖项,这通常是连续集成系统的情况,那么应该传递-freezed lockfile标志

这是纱线安装的行为:

安装package.json中列出的所有依赖项 在“本地节点\模块”文件夹中

纱线.lock文件的使用方式如下:

如果存在warn.lock并且足以满足所有依赖项 在package.json中列出了warn.lock中记录的确切版本 已安装,且纱线锁将保持不变。纱线不会检查是否有裂缝 更新版本。 如果纱线没有锁紧装置,或不足以满足 package.json中列出的所有依赖项,例如,如果 手动向package.json添加依赖项,Thread将查找最新的 满足package.json中约束的可用版本。这个 结果将写入warn.lock。 如果你想确保纱线。锁是 未更新,请使用-冻结锁定文件


在服务器上使用-freezed lockfile为什么要删除warn.lock?当然,您将获得新版本:每个依赖项的最新版本与您的package.json相匹配,例如caret^、tilde~、.x.x等。相关:您是否也可能手动编辑package.json或通过npm每次意外添加了一个包?这可能导致package.json/Thread.lock文件不同步,Thread install将很高兴地创建一个更新版本的Thread.lock文件。仅-冻结的锁文件将显示有错误。如果运行Thread install,还要检查您的本地主机上的Thread.lock是否发生了更改。@k0pernikus否,我不使用npm命令,我在服务器上使用Thread进行了很长一段时间的所有操作使用-freezed lockfile为什么要删除Thread.lock?当然,您将获得新版本:每个依赖项的最新版本与您的package.json相匹配,例如caret^、tilde~、.x.x等。相关:您是否也可能手动编辑package.json或通过npm每次意外添加了一个包?这可能导致package.json/Thread.lock文件不同步,Thread install将很高兴地创建一个更新版本的Thread.lock文件。仅-冻结的锁文件将显示有错误。如果运行Thread install,还要检查您的本地主机上的Thread.lock是否发生了更改。@k0pernikus不,我不使用npm命令,我在很长一段时间内都使用Thread。虽然这确实解决了一些问题,但实际的问题是OP的package.json和Thread.lock显然不同步,这是因为OP删除了Thread.lock。如果package.json不是由Thread(例如编辑器)通过npm在外部修改的,或者由于某种原因被删除的,那么当Thread安装发布时,当然会更新Thread.lock。@avejidah OP表示他们将更新的版本推送到了live server。在这里,仅运行Thread install可能会改变Thread.lock文件。只有-冻结的锁文件确保它保持不变。对,我看到了,你完全正确。我不是不同意,我只是指出如果warn.lock文件是b
已修改,表明存在工作流问题/用户错误:包和锁定文件不同步。那是怎么发生的?删除Thread.lock肯定是可疑的,而且肯定是一个错误的工作流/用户错误。@avejidah只是为了澄清一下,我删除了Thread.lock只是为了测试这个问题。正如我在我的博客中所写的,当我把它提交给live server时,它并没有失去同步question@MarcinNabiałek I feel you:D我也有php背景,并且习惯于编写代码,所以我对JavaScript工作流感到非常困惑。由于很长时间,纱线需要-freezed lockfile标志。npm还有一个奇怪之处,就是您必须在npm安装上使用npm ci才能不改变package.lock json,这是一个相当新的特性。别让我开始做保鲜膜。显然,大部分JavaScript开发人员都可以随意更新依赖项;虽然这确实解决了一些问题,但实际的问题是OP的package.json和warn.lock显然不同步,这是因为OP删除了warn.lock。如果package.json不是由Thread(例如编辑器)通过npm在外部修改的,或者由于某种原因被删除的,那么当Thread安装发布时,当然会更新Thread.lock。@avejidah OP表示他们将更新的版本推送到了live server。在这里,仅运行Thread install可能会改变Thread.lock文件。只有-冻结的锁文件确保它保持不变。对,我看到了,你完全正确。我不是不同意,我只是指出,如果正在修改warn.lock文件,则表明存在工作流问题/用户错误:包和锁文件不同步。那是怎么发生的?删除Thread.lock肯定是可疑的,而且肯定是一个错误的工作流/用户错误。@avejidah只是为了澄清一下,我删除了Thread.lock只是为了测试这个问题。正如我在我的博客中所写的,当我把它提交给live server时,它并没有失去同步question@MarcinNabiałek I feel you:D我也有php背景,并且习惯于编写代码,所以我对JavaScript工作流感到非常困惑。由于很长时间,纱线需要-freezed lockfile标志。npm还有一个奇怪之处,就是您必须在npm安装上使用npm ci才能不改变package.lock json,这是一个相当新的特性。别让我开始做保鲜膜。显然,大部分JavaScript开发人员都可以随意更新依赖项;