Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
{
'brfs': '0.0.5',
'brfs/through': '2.2.7',
'browserify': '2.22.0',
'browserify/through': '2.3.4',
'foo/bar/buzz': '123'
}
source "https://rubygems.org"
group :jekyll do
gem "jekyll"
gem "json"
gem "nokogiri"
gem "redcarpet"
gem "textpow", git: 'https://github.com/regru/textpow.git'
gem "ultraviolet", git: 'https://github.com/regru/ultraviolet.git'
end
➜ bem-guide git:(master) cat Gemfile.lock
GIT
remote: https://github.com/regru/textpow.git
revision: ff81fdebcc72baeed82d80dffd09a58d6aa9802f
specs:
textpow (1.3.1)
plist (>= 3.0.1)
GIT
remote: https://github.com/regru/ultraviolet.git
revision: a507f9e422b4b870d3437751b8d2f054165e97de
specs:
ultraviolet (1.0.1)
GEM
remote: https://rubygems.org/
specs:
classifier (1.3.3)
fast-stemmer (>= 1.0.0)
colorator (0.1)
commander (4.1.3)
highline (~> 1.6.11)
directory_watcher (1.4.1)
fast-stemmer (1.0.2)
highline (1.6.19)
jekyll (1.0.3)
classifier (~> 1.3)
colorator (~> 0.1)
commander (~> 4.1.3)
directory_watcher (~> 1.4.1)
kramdown (~> 1.0.2)
liquid (~> 2.3)
maruku (~> 0.5)
pygments.rb (~> 0.5.0)
safe_yaml (~> 0.7.0)
json (1.8.0)
kramdown (1.0.2)
liquid (2.5.0)
maruku (0.6.1)
syntax (>= 1.0.0)
mini_portile (0.5.0)
nokogiri (1.6.0)
mini_portile (~> 0.5.0)
plist (3.1.0)
posix-spawn (0.3.6)
pygments.rb (0.5.1)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
redcarpet (2.3.0)
safe_yaml (0.7.1)
syntax (1.0.0)
yajl-ruby (1.1.0)
PLATFORMS
ruby
DEPENDENCIES
jekyll
json
nokogiri
redcarpet
textpow!
ultraviolet!
$ npm shrinkwrap
npm WARN package.json dateformat@1.0.2-1.2.3 No repository field.
npm WARN package.json vows@0.7.0 No repository field.
npm WARN package.json growl@1.7.0 No repository field.
npm WARN package.json ms@0.3.0 No repository field.
npm WARN package.json eyes@0.1.8 No repository field.
wrote npm-shrinkwrap.json
$ cat npm-shrinkwrap.json
{
"name": "kantaina",
"version": "0.1.5",
"dependencies": {
"lodash": {
"version": "1.2.1",
"from": "lodash@~1.2"
},
"when": {
"version": "2.1.1",
"from": "when@~2.1"
},
"dep-graph": {
"version": "1.1.0",
"from": "dep-graph@~1.1",
"dependencies": {
"underscore": {
"version": "1.2.1",
"from": "underscore@1.2.1"
}
}
},
"chai": {
"version": "1.6.1",
"from": "chai@~1.6"
},
"chai-as-promised": {
"version": "3.3.1",
"from": "chai-as-promised@~3.3"
},
"sinon-chai": {
"version": "2.4.0",
"from": "sinon-chai@~2.4"
},
"sinon": {
"version": "1.7.3",
"from": "sinon@~1.7",
"dependencies": {
"buster-format": {
"version": "0.5.5",
"from": "buster-format@~0.5",
"dependencies": {
"buster-core": {
"version": "0.6.4",
"from": "buster-core@>=0.6.2"
}
}
}
}
},
...
If you wish to lock down the specific bytes included in a package, for example to have 100% confidence in being able to reproduce a deployment or build, then you ought to check your dependencies into source control, or pursue some other mechanism that can verify contents rather than versions.
Особенности npm и хранение node_modules в git