Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
Node.js Npm安装不';t在Ubuntu上从Git LFS下载依赖项资产 背景_Node.js_Ubuntu_Npm_Npm Install_Git Lfs - Fatal编程技术网

Node.js Npm安装不';t在Ubuntu上从Git LFS下载依赖项资产 背景

Node.js Npm安装不';t在Ubuntu上从Git LFS下载依赖项资产 背景,node.js,ubuntu,npm,npm-install,git-lfs,Node.js,Ubuntu,Npm,Npm Install,Git Lfs,我有一个项目,分为几个较小的项目,其中一个主项目下载其他项目作为主项目的依赖项 我使用Gitlab在私有存储库中托管我的项目,使用部署令牌允许npm install下载它们 使用package.json中的以下格式将依赖项添加到主项目中: git+https://name:token@gitlab.com/group/project.git 问题 在Windows上,当我对我的主项目进行git克隆并运行npm安装时,它会使用git LFS下载所有资产,但在Ubuntu上不会下载这些资产。如果我

我有一个项目,分为几个较小的项目,其中一个主项目下载其他项目作为主项目的依赖项

我使用Gitlab在私有存储库中托管我的项目,使用部署令牌允许npm install下载它们

使用package.json中的以下格式将依赖项添加到主项目中:

git+https://name:token@gitlab.com/group/project.git
问题 在Windows上,当我对我的主项目进行git克隆并运行npm安装时,它会使用git LFS下载所有资产,但在Ubuntu上不会下载这些资产。如果我检查Git LFS跟踪的所有文件的内容,我得到的只是Git LFS占位符的信息。我在Windows和Ubuntu上使用相同的命令和软件版本,但结果不同

我试过:
  • 在Windows和Ubuntu上更新到相同版本的Node(10.16.0)和Npm(6.10.2)
  • 更新到Node和Npm的最新版本(我不得不坚持使用Node的10.x版本,因为有些依赖项不适用于12.x)
  • 添加指向存储库的.lfsconfig文件,如以下问题所述:
  • 将Git更新至最新版本(Windows上为2.21,Ubuntu上为2.22)
当前解决方法 目前我正在克隆主项目,然后手动将依赖项克隆到node_模块中,这样它们都是正确的git存储库,这样我就可以使用git lfs拉入它们。它可以工作,但不是它应该如何工作,尤其是因为它在Windows上的工作方式与它应该的工作方式不同

问题:
为什么npm install在处理Git LFS时与Ubuntu和Windows的依赖项不同?如何让npm install在依赖项上与Git LFS正常工作,是否有需要更改的设置,例如强制Git LFS下载?

步骤1。在存储库内部,运行以下命令,然后提交生成的.gitconfig并推送:
$git config-f.gitconfig lfs.urlhttps://gitlab.com/group/project.git/info/lfs

第二步。在要npm安装项目的目录中,运行例如:


$npm安装-Shttps://gitlab.com/group/project.git

您是否尝试过用
warn
代替
npm
?我假设git lfs安装在Ubuntu上,我建议也使用公共回购进行测试。如果这与私人回购与公共回购有关,那么这至少会消失repos@TarunLalwani只是尝试了
纱线
,结果是一样的。包已下载,但LFS资产未下载。我可能会在某个时候尝试私人与公共的测试,但部分原因是,将其作为公共回购协议不是一个选项,而且设置起来非常烦人,我很累,所以我会推迟。谢谢你的建议!不是讨论公开回购作为一种选择,而是更多地讨论调试方向。知道这一点很重要,所以如果你能做到这一点的话,你会提到:
'git lfs install'-你需要在你的存储库目录中运行它,每个存储库运行一次。
是否安装了git lfs(系统)以及是否在repo中安装了git lfs?