我有一个名为“sails-mongo”的模块,我想使用以下命令将其更新到最新版本:
npm update sails-mongo --save
我也试过卸载然后重新安装。我试过 sails-mongo@latest
和 sails-mongo@beta
。
问题: package.json (https://github.com/balderdashy/sails-mongo/blob/master/package.json) 文件在 GitHub 上的当前版本 (master):
"dependencies": {
"async": "~0.2.9",
"lodash": "~2.4.1",
"mongodb": "1.4.2",
"waterline-errors": "~0.10.0"
},
在更新中
"dependencies": {
"async": "0.2.10",
"underscore": "1.5.2",
"underscore.string": "2.3.3",
"mongodb": "~1.3.23"
},
我获得 master 分支的唯一方法是使用命令 npm install git+https://github.com/balderdashy/sails-mongo
为什么sails-mongo@latest
不安装master分支?
最佳答案
默认情况下,NPM 依赖项是从 NPM 存储库中提取的。作者必须手动将其软件的新版本上传到 NPM 存储库,因此 NPM 上托管的代码的“@latest
”版本不同于任何地方存在的代码的最新版本(例如,在GitHub)。
根据 NPM 存储库的 info page on Sails ,最新的 NPM 托管版本是 0.9.16
而 current GitHub version是0.10.0-rc3
。
如果您想让您的项目依赖于特定 Git 存储库的特定分支或提交(而不是 NPM 存储库中托管的版本),NPM 开发人员已经包含了一个明确的机制来实现这一点,详细在“Git URLs as Dependencies”中的 package.json
docs :
Git URLs as Dependencies
Git urls can be of the form:
git://github.com/user/project.git#commit-ish git+ssh://user@hostname:project.git#commit-ish git+ssh://user@hostname/project.git#commit-ish git+http://user@hostname/project/blah.git#commit-ish git+https://user@hostname/project/blah.git#commit-ish
The
commit-ish
can be any tag, sha, or branch which can be supplied as an argument togit checkout
. The default ismaster
.
事实上,use a Github.com repo 更容易。作为依赖:
As of version 1.1.65, you can refer to GitHub urls as just
"foo": "user/foo-project"
. For example:{ "name": "foo", "version": "0.0.0", "dependencies": { "express": "visionmedia/express" } }
因此,要使用 Sails GitHub 存储库,只需使用:
"dependencies": {
"sails": "balderdashy/sails-mongo",
...
}
要使用截至 2014 年 4 月 28 日在 GitHub 上存在的 Sails 的确切状态,请使用:
"dependencies": {
"sails": "git://github.com/balderdashy/sails-mongo#b9cdce9a48",
...
}
关于node.js - npm install 不在 GitHub 上安装最新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338393/