npm从本地位置而不是从web安装包?

时间:2012-04-24 13:23:53

标签: node.js npm

这个问题让我抓狂,npm数据库中有一个包,但它有一些bug,已经在github中修复了,我怎么能使用固定版本(github版本)?

3 个答案:

答案 0 :(得分:22)

修改

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

npm install LearnBoost/socket.io

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

npm install LearnBoost/socket.io#1.7.x

如果没有协议,这将被解释为git://github.com/LearnBoost/socket.io。您还可以分别使用gitlab:gist:bitbucket:为回购站添加前缀。有关详细信息,请参阅Using git URLs as dependencies

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

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

您可以在Github上找到&#34;下载&#34;在任何项目页面上。选择&#34;下载为tar.gz&#34;链接。

或者您可以安装tarball:

npm install foo.tar.gz

请参阅npm install(1)

修改

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

...
"dependencies": {
  "foo": "http://example.com/foo.tar.gz",
  "bar": "1.2.x",
  ...
}

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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