Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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 npm git存储库未更新版本_Javascript_Node.js_Configuration_Npm_Build System - Fatal编程技术网

Javascript npm git存储库未更新版本

Javascript npm git存储库未更新版本,javascript,node.js,configuration,npm,build-system,Javascript,Node.js,Configuration,Npm,Build System,我有一个git回购协议,我正试图在我的项目中将其设置为依赖项。 使用NPM,我的package.json如下所示: "devDependencies": { "grunt": "~0.4.0", "grunt-contrib-connect": "~0.2.0", "grunt-contrib-watch": "~0.3.1", "custom": "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89b

我有一个git回购协议,我正试图在我的项目中将其设置为依赖项。 使用NPM,我的
package.json
如下所示:

"devDependencies": {
  "grunt": "~0.4.0",
  "grunt-contrib-connect": "~0.2.0",
  "grunt-contrib-watch": "~0.3.1",
  "custom":     "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89bde6f22324219d098dedb3",
  "grunt-contrib-copy": "~0.4.0"
}
一开始

npm install
它可以安装所有东西,并毫无问题地获取存储库。但是如果我把这个提交散列改成

"custom":     "git://github.com/myGitHubRepo/repo.js.git#d6da3a0...", // a different one
它不会更新!有人能指出我怎么会有这种行为吗


我只想分享这段代码,并且能够在某个时候更改此版本,
npm
将自动更新此代码。

好的,就是这样做的

我也很困惑

所以我有一个专用的npm模块git@github.com:myModule/MySweetModule.git 我刚刚发布了最新的标签版本。不幸的是,我不知道它是如何工作的,但它是由你的主人完成的。所以你的主分支可以是你的集成分支,你有阶段分支来构建下一个版本。版本完成后,只需将其合并到主版本中,并增加您的私有回购版本(因此您的私有回购现在从1.0.0增加到1.0.1)。如果调用
npm install
,如果master的package.json版本大于当前工作repo,它将更新您的repo。它总是需要最新的回购协议

看起来很糟糕 我同意。所以让我们用更好的方式来做吧!如果您为您的私人回购发行版
标记
,您可以通过
“自定义”:“git”引用它们+ssh://git@github.com:usr/proj.git#TAG#u NAME“

因此,如果我有一个名为
0.1.0
的标记,那么我将对package.json中的url进行如下版本控制<代码>“自定义”:“git”+ssh://git@github.com:usr/proj.git#0.1.0“

我相信这是最好的答案。但我不是吉坦尼塔人

警告 如果您尝试返回一个版本,它似乎不起作用。因此,从版本
0.2.2
0.2.1
将不会更新您的项目。如果您回滚一个版本,请确保执行
npm删除myProj
然后安装
npm

这已经在npm中,请升级到npm>=1.3.10

样本使用


“依赖项”:{
“东西”:git://github.com/myGitHubRepo/repo.js.git#56477cb",
}

某天以后


“依赖项”:{
“东西”:git://github.com/myGitHubRepo/repo.js.git#67f90b5",
}

然后再次安装npm,您将获得新的ref


如果你的“myGitHubRepo/repo.js”是一个包,你应该在那里设置
“private”:true
,以确保它不会出现在第二次尝试
npm安装时,你会遇到任何错误吗?另外,
package.json
中的
“name”
“version”
是否在这些提交之间的值发生变化?您是否正在更新package.json中的版本号?我不明白你们的意思。依赖项类似于“名称”:“版本”,对吗?所以在本例中是“custom”:“git-hub-url#commit-hash”。如果我改变“提交散列”部分,它就像是一个新版本,不是吗?或者我应该在其他地方声明这个依赖名?@JonathanLonowski none。它简单地等待了一会儿(我感觉它在git中查找),然后返回,没有错误。npm update根本没有做任何事情实际上我只是尝试在package.json中更改应用程序的版本号,在“npm install”之后,它仍然没有将git依赖项更新到正确的位置,因为没有简单的方法来指定版本范围,比如
~0.2.x
或者
=0.2.0
或者别的什么至少这是我发现的。可能有办法,但从文档中可以看出,目前还没有受支持的github标记版本支持。@joneshf现在有办法了。但它是另一个类似于包管理器的“npm”。它被称为组件。当我将一个新的
package.json
推送到git repo时,
npm install
似乎没有注意到。它似乎只有在我更改
#hash
值时才会检查。例如,添加或删除
#master
似乎会导致其重新检查。因此,我不明白将标记设置为
0.1.0
会有什么不同,除非您计划每次都更改它……我相信它应该是
“@some/package”:“github:some/package^0.1.0”
。Npm现在是7,这个问题仍然存在。