14

这个问题把我逼疯了,npm 数据库中有一个包,但是它有一些错误,这些错误已经在 github 中修复,我该如何使用固定版本(github 版本)?

4

3 回答 3

27

编辑:

您可以直接从 GitHub 存储库安装,即使只使用 GitHub 用户名和存储库名称:

npm install LearnBoost/socket.io

您还可以添加一个<commit-ish>,指定例如提交哈希或版本标签,如下所示:

npm install LearnBoost/socket.io#1.7.x

如果没有协议,这将被解释为git://github.com/LearnBoost/socket.io. 您还可以分别在 repo 前面加上gitlab:gist:bitbucket:。有关更多信息,请参阅使用 git URL 作为依赖项

您可以直接从 URL 安装,例如:

npm install https://github.com/LearnBoost/socket.io/tarball/master

您可以在 Github 上任何项目页面的“下载”下找到该 URL。选择“下载为 tar.gz”链接。

或者你可以安装一个 tarball:

npm install foo.tar.gz

请参阅npm install(1)

编辑:

package.json我应该提到这在文件中同样有效。在依赖项中指定 URL 而不是版本,如下所示:

...
"dependencies": {
  "foo": "http://example.com/foo.tar.gz",
  "bar": "1.2.x",
  ...
}
于 2012-04-24T13:53:40.887 回答
1

其他临时解决方案,获取github项目并使用npm linkhttp://npmjs.org/doc/link.html)将通过git获取的本地文件夹链接到node_modules您自己项目中的文件夹。无论如何,最后,您将不得不等待项目维护人员进行npm publish.

于 2012-04-24T13:54:15.997 回答
0

要么将模块作为 git 子模块(使用git submodule)添加到您的项目中,要么告诉模块维护者更新版本并触发npm publish更新 npm 存储库。

使用子模块方式时,请注意不能使用npm-commands 更新引用。

于 2012-04-24T13:49:16.237 回答