Skip to content
This repository has been archived by the owner on Aug 11, 2022. It is now read-only.

npm install fails on learnGitBranching repo #8399

Closed
Lia-C opened this issue May 29, 2015 · 3 comments
Closed

npm install fails on learnGitBranching repo #8399

Lia-C opened this issue May 29, 2015 · 3 comments
Assignees
Labels

Comments

@Lia-C
Copy link

Lia-C commented May 29, 2015

Running npm install fails on the git repo at https://github.com/pcottle/learnGitBranching

Here is the logfile

4894 silly lockFile e5a5b706-anching-node-modules-react-tools tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools
4895 silly lockFile e5a5b706-anching-node-modules-react-tools tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools
4896 silly lockFile 401a8bb2-m-react-tools-0-13-3-package-tgz tar:///home/licoleman/.npm/react-tools/0.13.3/package.tgz
4897 silly lockFile 401a8bb2-m-react-tools-0-13-3-package-tgz tar:///home/licoleman/.npm/react-tools/0.13.3/package.tgz
4898 info preinstall react-tools@0.13.3
4899 verbose readDependencies using package.json deps
4900 verbose readDependencies using package.json deps
4901 verbose cache add [ 'commoner@^0.10.0', null ]
4902 verbose cache add name=undefined spec="commoner@^0.10.0" args=["commoner@^0.10.0",null]
4903 verbose parsed url { protocol: null,
4903 verbose parsed url   slashes: null,
4903 verbose parsed url   auth: null,
4903 verbose parsed url   host: null,
4903 verbose parsed url   port: null,
4903 verbose parsed url   hostname: null,
4903 verbose parsed url   hash: null,
4903 verbose parsed url   search: null,
4903 verbose parsed url   query: null,
4903 verbose parsed url   pathname: 'commoner@^0.10.0',
4903 verbose parsed url   path: 'commoner@^0.10.0',
4903 verbose parsed url   href: 'commoner@^0.10.0' }
4904 verbose cache add name="commoner" spec="^0.10.0" args=["commoner","^0.10.0"]
4905 verbose parsed url { protocol: null,
4905 verbose parsed url   slashes: null,
4905 verbose parsed url   auth: null,
4905 verbose parsed url   host: null,
4905 verbose parsed url   port: null,
4905 verbose parsed url   hostname: null,
4905 verbose parsed url   hash: null,
4905 verbose parsed url   search: null,
4905 verbose parsed url   query: null,
4905 verbose parsed url   pathname: '^0.10.0',
4905 verbose parsed url   path: '^0.10.0',
4905 verbose parsed url   href: '^0.10.0' }
4906 verbose addNamed [ 'commoner', '^0.10.0' ]
4907 verbose addNamed [ null, '>=0.10.0-0 <0.11.0-0' ]
4908 silly lockFile e802e795-commoner-0-10-0 commoner@^0.10.0
4909 verbose lock commoner@^0.10.0 /home/licoleman/.npm/e802e795-commoner-0-10-0.lock
4910 verbose cache add [ 'jstransform@^10.1.0', null ]
4911 verbose cache add name=undefined spec="jstransform@^10.1.0" args=["jstransform@^10.1.0",null]
4912 verbose parsed url { protocol: null,
4912 verbose parsed url   slashes: null,
4912 verbose parsed url   auth: null,
4912 verbose parsed url   host: null,
4912 verbose parsed url   port: null,
4912 verbose parsed url   hostname: null,
4912 verbose parsed url   hash: null,
4912 verbose parsed url   search: null,
4912 verbose parsed url   query: null,
4912 verbose parsed url   pathname: 'jstransform@^10.1.0',
4912 verbose parsed url   path: 'jstransform@^10.1.0',
4912 verbose parsed url   href: 'jstransform@^10.1.0' }
4913 verbose cache add name="jstransform" spec="^10.1.0" args=["jstransform","^10.1.0"]
4914 verbose parsed url { protocol: null,
4914 verbose parsed url   slashes: null,
4914 verbose parsed url   auth: null,
4914 verbose parsed url   host: null,
4914 verbose parsed url   port: null,
4914 verbose parsed url   hostname: null,
4914 verbose parsed url   hash: null,
4914 verbose parsed url   search: null,
4914 verbose parsed url   query: null,
4914 verbose parsed url   pathname: '^10.1.0',
4914 verbose parsed url   path: '^10.1.0',
4914 verbose parsed url   href: '^10.1.0' }
4915 verbose addNamed [ 'jstransform', '^10.1.0' ]
4916 verbose addNamed [ null, '>=10.1.0-0 <11.0.0-0' ]
4917 silly lockFile 10b2d541-jstransform-10-1-0 jstransform@^10.1.0
4918 verbose lock jstransform@^10.1.0 /home/licoleman/.npm/10b2d541-jstransform-10-1-0.lock
4919 silly addNameRange { name: 'commoner',
4919 silly addNameRange   range: '>=0.10.0-0 <0.11.0-0',
4919 silly addNameRange   hasData: false }
4920 silly addNameRange { name: 'jstransform',
4920 silly addNameRange   range: '>=10.1.0-0 <11.0.0-0',
4920 silly addNameRange   hasData: false }
4921 verbose url raw commoner
4922 verbose url resolving [ 'https://registry.npmjs.org/', './commoner' ]
4923 verbose url resolved https://registry.npmjs.org/commoner
4924 info trying registry request attempt 1 at 13:51:38
4925 verbose etag "E3GB3QD9WTBQ46XUR4ZUNFHC4"
4926 http GET https://registry.npmjs.org/commoner
4927 verbose url raw jstransform
4928 verbose url resolving [ 'https://registry.npmjs.org/', './jstransform' ]
4929 verbose url resolved https://registry.npmjs.org/jstransform
4930 info trying registry request attempt 1 at 13:51:38
4931 verbose etag "7JVZKTIX4SJTHVU9WL90NVIYC"
4932 http GET https://registry.npmjs.org/jstransform
4933 http 304 https://registry.npmjs.org/commoner
4934 silly registry.get cb [ 304,
4934 silly registry.get   { date: 'Fri, 29 May 2015 20:51:38 GMT',
4934 silly registry.get     via: '1.1 varnish',
4934 silly registry.get     'cache-control': 'max-age=60',
4934 silly registry.get     etag: '"E3GB3QD9WTBQ46XUR4ZUNFHC4"',
4934 silly registry.get     age: '44',
4934 silly registry.get     connection: 'keep-alive',
4934 silly registry.get     'x-served-by': 'cache-sjc3127-SJC',
4934 silly registry.get     'x-cache': 'HIT',
4934 silly registry.get     'x-cache-hits': '1',
4934 silly registry.get     'x-timer': 'S1432932698.473483,VS0,VE0',
4934 silly registry.get     vary: 'Accept' } ]
4935 verbose etag commoner from cache
4936 silly addNameRange number 2 { name: 'commoner',
4936 silly addNameRange   range: '>=0.10.0-0 <0.11.0-0',
4936 silly addNameRange   hasData: true }
4937 silly addNameRange versions [ 'commoner',
4937 silly addNameRange   [ '0.5.1',
4937 silly addNameRange     '0.5.2',
4937 silly addNameRange     '0.5.3',
4937 silly addNameRange     '0.5.4',
4937 silly addNameRange     '0.5.5',
4937 silly addNameRange     '0.5.6',
4937 silly addNameRange     '0.5.7',
4937 silly addNameRange     '0.5.8',
4937 silly addNameRange     '0.5.9',
4937 silly addNameRange     '0.6.0',
4937 silly addNameRange     '0.6.1',
4937 silly addNameRange     '0.6.3',
4937 silly addNameRange     '0.6.4',
4937 silly addNameRange     '0.6.5',
4937 silly addNameRange     '0.6.6',
4937 silly addNameRange     '0.6.7',
4937 silly addNameRange     '0.6.8',
4937 silly addNameRange     '0.6.9',
4937 silly addNameRange     '0.6.10',
4937 silly addNameRange     '0.6.11',
4937 silly addNameRange     '0.6.12',
4937 silly addNameRange     '0.7.0',
4937 silly addNameRange     '0.7.1',
4937 silly addNameRange     '0.8.0',
4937 silly addNameRange     '0.8.1',
4937 silly addNameRange     '0.8.2',
4937 silly addNameRange     '0.8.3',
4937 silly addNameRange     '0.8.4',
4937 silly addNameRange     '0.8.5',
4937 silly addNameRange     '0.8.6',
4937 silly addNameRange     '0.8.7',
4937 silly addNameRange     '0.8.8',
4937 silly addNameRange     '0.8.9',
4937 silly addNameRange     '0.8.11',
4937 silly addNameRange     '0.8.12',
4937 silly addNameRange     '0.8.13',
4937 silly addNameRange     '0.8.14',
4937 silly addNameRange     '0.8.15',
4937 silly addNameRange     '0.9.0',
4937 silly addNameRange     '0.9.1',
4937 silly addNameRange     '0.9.2',
4937 silly addNameRange     '0.9.3',
4937 silly addNameRange     '0.9.4',
4937 silly addNameRange     '0.9.5',
4937 silly addNameRange     '0.9.6',
4937 silly addNameRange     '0.9.7',
4937 silly addNameRange     '0.9.8',
4937 silly addNameRange     '0.10.0',
4937 silly addNameRange     '0.10.1' ] ]
4938 verbose addNamed [ 'commoner', '0.10.1' ]
4939 verbose addNamed [ '0.10.1', '0.10.1' ]
4940 silly lockFile 9631cbe6-commoner-0-10-1 commoner@0.10.1
4941 verbose lock commoner@0.10.1 /home/licoleman/.npm/9631cbe6-commoner-0-10-1.lock
4942 silly lockFile 9631cbe6-commoner-0-10-1 commoner@0.10.1
4943 silly lockFile 9631cbe6-commoner-0-10-1 commoner@0.10.1
4944 silly lockFile e802e795-commoner-0-10-0 commoner@^0.10.0
4945 silly lockFile e802e795-commoner-0-10-0 commoner@^0.10.0
4946 http 304 https://registry.npmjs.org/jstransform
4947 silly registry.get cb [ 304,
4947 silly registry.get   { date: 'Fri, 29 May 2015 20:51:38 GMT',
4947 silly registry.get     via: '1.1 varnish',
4947 silly registry.get     'cache-control': 'max-age=60',
4947 silly registry.get     etag: '"7JVZKTIX4SJTHVU9WL90NVIYC"',
4947 silly registry.get     age: '0',
4947 silly registry.get     connection: 'keep-alive',
4947 silly registry.get     'x-served-by': 'cache-sjc3130-SJC',
4947 silly registry.get     'x-cache': 'HIT',
4947 silly registry.get     'x-cache-hits': '1',
4947 silly registry.get     'x-timer': 'S1432932698.474932,VS0,VE52',
4947 silly registry.get     vary: 'Accept' } ]
4948 verbose etag jstransform from cache
4949 silly addNameRange number 2 { name: 'jstransform',
4949 silly addNameRange   range: '>=10.1.0-0 <11.0.0-0',
4949 silly addNameRange   hasData: true }
4950 silly addNameRange versions [ 'jstransform',
4950 silly addNameRange   [ '1.0.0',
4950 silly addNameRange     '1.0.1',
4950 silly addNameRange     '2.0.1',
4950 silly addNameRange     '2.0.2',
4950 silly addNameRange     '2.0.3',
4950 silly addNameRange     '3.0.0',
4950 silly addNameRange     '4.0.0',
4950 silly addNameRange     '4.0.1',
4950 silly addNameRange     '5.0.0',
4950 silly addNameRange     '6.0.0',
4950 silly addNameRange     '6.0.1',
4950 silly addNameRange     '6.1.0',
4950 silly addNameRange     '6.2.0',
4950 silly addNameRange     '6.3.0',
4950 silly addNameRange     '6.3.2',
4950 silly addNameRange     '7.0.0',
4950 silly addNameRange     '8.0.0',
4950 silly addNameRange     '8.1.0',
4950 silly addNameRange     '8.2.0',
4950 silly addNameRange     '9.0.0',
4950 silly addNameRange     '9.1.0',
4950 silly addNameRange     '9.1.1',
4950 silly addNameRange     '10.0.0',
4950 silly addNameRange     '10.0.1',
4950 silly addNameRange     '10.1.0',
4950 silly addNameRange     '11.0.0',
4950 silly addNameRange     '11.0.1' ] ]
4951 verbose addNamed [ 'jstransform', '10.1.0' ]
4952 verbose addNamed [ '10.1.0', '10.1.0' ]
4953 silly lockFile a43da3f1-jstransform-10-1-0 jstransform@10.1.0
4954 verbose lock jstransform@10.1.0 /home/licoleman/.npm/a43da3f1-jstransform-10-1-0.lock
4955 silly lockFile a43da3f1-jstransform-10-1-0 jstransform@10.1.0
4956 silly lockFile a43da3f1-jstransform-10-1-0 jstransform@10.1.0
4957 silly lockFile 10b2d541-jstransform-10-1-0 jstransform@^10.1.0
4958 silly lockFile 10b2d541-jstransform-10-1-0 jstransform@^10.1.0
4959 silly resolved [ { author: { name: 'Ben Newman', email: 'bn@cs.stanford.edu' },
4959 silly resolved     name: 'commoner',
4959 silly resolved     description: 'Flexible tool for translating any dialect of JavaScript into Node-readable CommonJS modules',
4959 silly resolved     keywords:
4959 silly resolved      [ 'modules',
4959 silly resolved        'require',
4959 silly resolved        'commonjs',
4959 silly resolved        'exports',
4959 silly resolved        'commoner',
4959 silly resolved        'browserify',
4959 silly resolved        'stitch' ],
4959 silly resolved     version: '0.10.1',
4959 silly resolved     license: 'MIT',
4959 silly resolved     homepage: 'http://github.com/reactjs/commoner',
4959 silly resolved     repository: { type: 'git', url: 'git://github.com/reactjs/commoner.git' },
4959 silly resolved     main: 'main.js',
4959 silly resolved     bin: { commonize: './bin/commonize' },
4959 silly resolved     scripts: { test: 'node ./node_modules/mocha/bin/mocha --reporter spec test/run.js' },
4959 silly resolved     dependencies:
4959 silly resolved      { q: '~1.1.2',
4959 silly resolved        recast: '~0.9.5',
4959 silly resolved        commander: '~2.5.0',
4959 silly resolved        'graceful-fs': '~3.0.4',
4959 silly resolved        glob: '~4.2.1',
4959 silly resolved        mkdirp: '~0.5.0',
4959 silly resolved        private: '~0.1.6',
4959 silly resolved        install: '~0.1.7',
4959 silly resolved        'iconv-lite': '~0.4.5' },
4959 silly resolved     devDependencies: { mocha: '~2.0.1' },
4959 silly resolved     engines: { node: '>= 0.8' },
4959 silly resolved     readme: 'Commoner [![Build Status](https://travis-ci.org/reactjs/commoner.png?branch=master)](https://travis-ci.org/reactjs/commoner)\n---\n\nCommoner makes it easy to write scripts that flexibly and efficiently\ntranspile any dialect of JavaScript into a directory structure of\nNode-compatible CommonJS module files.\n\nThis task is made possible by\n\n  1. a declarative syntax for defining how module source code should be\n     found and processed,\n  2. the use of [promises](https://github.com/kriskowal/q) to manage an\n     asynchronous build pipeline, and\n  3. never rebuilding modules that have already been built.\n\nThe output files can be required seamlessly by Node, or served by any\nstatic file server, or bundled together using a tool such as\n[Browserify](https://github.com/substack/node-browserify),\n[WrapUp](https://github.com/kamicane/wrapup), or\n[Stitch](https://github.com/sstephenson/stitch) for delivery to a web\nbrowser.\n\nIf you pass the `--relativize` option, Commoner also takes care to rewrite\nall `require` calls to use [relative module\nidentifiers](http://wiki.commonjs.org/wiki/Modules/1.1#Module_Identifiers),\nso that the output files can be installed into any subdirectory of a\nlarger project, and external tools do not have to give special treatment\nto top-level modules (or even know which modules are top-level and which\nare nested).\n\nCommoner was derived from an earlier, more opinionated tool called\n[Brigade](https://github.com/benjamn/brigade) that provided additional\nsupport for packaging modules together into multiple non-overlapping\nbundles. Commoner grew out of the realization that many tools already\nexist for bundling CommonJS modules, but that fewer tools focus on getting\nto that point.\n\nInstallation\n---\n\nFrom NPM:\n\n    npm install commoner\n\nFrom GitHub:\n\n    cd path/to/node_modules\n    git clone git://github.com/reactjs/commoner.git\n    cd commoner\n    npm install .\n\nUsage\n---\n\nHere\'s the output of `bin/commonize --help`:\n```\nUsage: commonize [options] <source directory> <output directory> [<module ID> [<module ID> ...]]\n\nOptions:\n\n  -h, --help                               output usage information\n  -V, --version                            output the version number\n  -c, --config [file]                      JSON configuration file (no file means STDIN)\n  -w, --watch                              Continually rebuild\n  -x, --extension <js | coffee | ...>      File extension to assume when resolving module identifiers\n  --relativize                             Rewrite all module identifiers to be relative\n  --follow-requires                        Scan modules for required dependencies\n  --cache-dir <directory>                  Alternate directory to use for disk cache\n  --no-cache-dir                           Disable the disk cache\n  --source-charset <utf8 | win1252 | ...>  Charset of source (default: utf8)\n  --output-charset <utf8 | win1252 | ...>  Charset of output (default: utf8)\n```\n\nIn a single sentence: the `commonize` command finds modules with the given\nmodule identifiers in the source directory and places a processed copy of\neach module into the output directory, along with processed copies of all\nrequired modules.\n\nIf you do not provide any module identifiers, `commonize` will process all\nfiles that it can find under the source directory that have the preferred\nfile extension (`.js` by default). If your source files have a file\nextension other than `.js`, use the `-x` or `--extension` option to\nspecify it. For example, `--extension coffee` to find `.coffee` files.\n\nOutput\n---\n\nCommoner prints various status messages to `STDERR`, so that you can see\nwhat it\'s doing, or figure out why it\'s not doing what you thought it\nwould do.\n\nThe only information it prints to `STDOUT` is a JSON array of module\nidentifiers, which includes the identifiers passed on the command line and\nall their dependencies. This array contains no duplicates.\n\nInternally, each module that Commoner generates has a hash computed from\nthe module\'s identifier, source code, and processing steps. Since this\nhash can be computed before processing takes place, Commoner is able to\navoid processing a module if it has ever previously processed the same\nmodule in the same way.\n\nIf you dig into [the\ncode](https://github.com/reactjs/commoner/blob/5e7f65cab2/lib/context.js#L94),\nyou\'ll find that Commoner maintains a cache directory (by default,\n`~/.commoner/module-cache/`) containing files with names like\n`9ffc5c853aac07bc106da1dc1b2486903ca688bf.js`.  When Commoner is about to\nprocess a module, it checks its hash against the file names in this\ndirectory. If no match is found, processing procedes and the resulting\nfile is written to the cache directory with a new hash. If the appropriate\nhash file is already present in the cache directory, however, Commoner\nmerely creates a hard link between the hash file and a file with a more\nmeaningful name in the output directory.\n\nWhen you pass the `--watch` flag to `bin/commonize`, Commoner avoids\nexiting after the first build and instead watches for changes to\npreviously read files, printing a new JSON array of module identifiers to\n`STDOUT` each time rebuilding finishes. Thanks to the caching of processed\nmodules, the time taken to rebuild is roughly proportional to the number\nof modified files.\n\nCustomization\n---\n\nThe `bin/commonize` script is actually quite simple, and you can write\nsimilar scripts yourself. Let\'s have a look:\n```js\n#!/usr/bin/env node\n\nrequire("commoner").resolve(function(id) {\n    var context = this;\n\n    return context.getProvidedP().then(function(idToPath) {\n        // If a module declares its own identifier using @providesModule\n        // then that identifier will be a key in the idToPath object.\n        if (idToPath.hasOwnProperty(id))\n            return context.readFileP(idToPath[id]);\n    });\n\n}, function(id) {\n    // Otherwise assume the identifier maps directly to a filesystem path.\n    // The readModuleP method simply appends the preferred file extension\n    // (usually .js) to the given module identifier and opens that file.\n    return this.readModuleP(id);\n});\n```\nThe scriptable interface of the `commoner` module abstracts away many of\nthe annoyances of writing a command-line script. In particular, you don\'t\nhave to do any parsing of command-line arguments, and you don\'t have to\nworry about installing any dependencies other than `commoner` in your\n`$NODE_PATH`.\n\nWhat you are responsible for, at a minimum, is telling Commoner how to\nfind the source of a module given a module identifier, and you do this by\npassing callback functions to `require("commoner").resolve`. The script\nabove uses two strategies that will be tried in sequence: first, it calls\nthe helper function `this.getProvidedP` to retrieve an object mapping\nidentifiers to file paths (more about this below); and, if that doesn\'t\nwork, it falls back to interpreting the identifier as a path relative to\nthe source directory.\n\nNow, you might not care about `this.getProvidedP`. It\'s really just a\nproof of concept that Commoner can support modules that declare their own\nidentifiers using the `// @providesModule <identifier>` syntax, and I\nincluded it by default because it doesn\'t make a difference unless you\ndecide to use `@providesModule`. If you don\'t like it, you could write an\neven simpler script:\n```js\n#!/usr/bin/env node\n\nrequire("commoner").resolve(function(id) {\n    return this.readModuleP(id);\n});\n```\nThe point is, it\'s entirely up to you to define how module identifiers are\ninterpreted. In fact, the source you return doesn\'t even have to be valid\nJavaScript. It could be [CoffeeScript](http://coffeescript.org/), or\n[LESS](http://lesscss.org/), or whatever language you prefer to write by\nhand. Commoner doesn\'t care what your source code looks like, because\nCommoner allows you to define arbitrary build steps to turn that source\ncode into plain old CommonJS.\n\nLet\'s consider the example of using LESS to write dynamic CSS\nmodules. First, let\'s apply what we already know to give special meaning\nto `.less` files:\n```js\n#!/usr/bin/env node\n\nrequire("commoner").resolve(function(id) {\n    if (isLess(id))\n        return this.readFileP(id);\n}, function(id) {\n    return this.readModuleP(id);\n});\n\nfunction isLess(id) {\n    return /\\.less$/i.test(id);\n}\n```\nAll this really accomplishes is to avoid appending the `.js` file\nextension to identifiers that already have the `.less` extension.\n\nNow we need to make sure the contents of `.less` files somehow get\ntransformed into plain old CommonJS, and for that we need\n`require("commoner").process`:\n```js\nrequire("commoner").resolve(function(id) {\n    if (isLess(id))\n        return this.readFileP(id);\n}, function(id) {\n    return this.readModuleP(id);\n}).process(function(id, source) {\n    if (isLess(id))\n        return compileLessToJs(source);\n    return source;\n});\n```\nHow should `compileLessToJs` be implemented? At a high level, I propose\nthat we generate a CommonJS module that will append a new `<style>` tag to\nthe `<head>` the first time the module is required. This suggests to me\nthat we need to take the CSS generated by LESS and somehow embed it as a\nstring in a CommonJS module with a small amount of boilerplate JS.\n\nHere\'s a first attempt:\n```js\nfunction compileLessToJs(less) {\n    var css = require("less").render(less);\n    return \'require("css").add(\' + JSON.stringify(css) + ");";\n}\n```\nImplementing a `css` module with an appropriate `add` method is an\nexercise that I will leave to the reader (hint: you may find [this\nStackOverflow answer](http://stackoverflow.com/a/524721/128454) useful).\n\nThis almost works, but there\'s one problem: `require("less").render` does\nnot actually return a string! For better or worse, it passes the compiled\nCSS to a callback function, which would make our task extremely painful\n*if Commoner were not deeply committed to supporting asynchronous\nprocessing*.\n\nCommoner uses promises for asynchronous control flow, so we need to return\na promise if we can\'t return a string immediately. The easiest way to make\na promise is to call `this.makePromise` in the following style:\n```js\n#!/usr/bin/env node\n\nrequire("commoner").resolve(function(id) {\n    if (isLess(id))\n        return this.readFileP(id);\n}, function(id) {\n    return this.readModuleP(id);\n}).process(function(id, source) {\n    if (isLess(id)) {\n        return this.makePromise(function(nodeStyleCallback) {\n            compileLessToJs(source, nodeStyleCallback);\n        });\n    }\n    return source;\n});\n\nfunction compileLessToJs(less, callback) {\n    require("less").render(less, function(err, css) {\n        callback(err, \'require("css").add(\' + JSON.stringify(css) + ");")\n    });\n}\n```\nAnd we\'re done! This example was admittedly pretty involved, but if you\nfollowed it to the end you now have all the knowledge you need to write\nsource files like `sidebar.less` and require them from other modules by\ninvoking `require("sidebar.less")`. (And, by the way, embedding dynamic\nCSS modules in your JavaScript turns out to be an excellent idea.)\n\nGenerating multiple files from one source module\n---\n\nCommoner is not limited to generating just one output file from each\nsource module. For example, if you want to follow best practices for\nproducing source maps, you probably want to create a `.map.json` file\ncorresponding to every `.js` file that you compile.\n\nRecall that normally your `.process` callback returns a string (or a\npromise for a string) whose contents will be written as a `.js` file in\nthe output directory. To write more than one file, just return an object\nwhose keys are the file extensions of the files you want to write, and\nwhose values are either strings or promises for strings representing the\ndesired contents of those files.\n\nHere\'s an example of generating two different files for every source\nmodule, one called `<id>.map.json` and the other called `<id>.js`:\n```js\nrequire("commoner").resolve(function(id) {\n    return this.readModuleP(id);\n}).process(function(id, source) {\n    var result = compile(source);\n    return {\n        ".map.json": JSON.stringify(result.sourceMap),\n        ".js": [\n            result.code,\n            "//# sourceMappingURL=" + id + ".map.json"\n        ].join("\\n")\n    };\n});\n```\n\nNote that\n```js\nreturn {\n    ".js": source\n};\n```\nwould be equivalent to\n```js\nreturn source;\n```\nso you only have to return an object when you want to generate multiple\nfiles. However, the `.js` key is mandatory when returning an object.\n\nFor your convenience, if you have a sequence of multiple processing\nfunctions, the values of the object returned from each step will be\nresolved before the object is passed along to the next processing\nfunction, so you can be sure all the values are strings (instead of\npromises) at the beginning of the next processing function.\n\nConfiguration\n---\n\nOf course, not all customization requires modifying code. Most of the\ntime, in fact, configuration has more to do with providing different\ndynamic values to the same code.\n\nFor that kind of configuration, you don\'t need to modify your Commoner\nscript at all, because Commoner scripts accept a flag called `--config`\nthat can either specify a JSON file or (if `--config` is given without a\nfile name) read a string of JSON from `STDIN`.\n\nExamples:\n\n    bin/commonize source/ output/ main --config release.json\n    bin/commonize source/ output/ main --config debug.json\n    echo \'{"debug":false}\' | bin/commonize source/ output/ main --config\n    echo \'{"debug":true}\' | bin/commonize source/ output/ main --config /dev/stdin\n\nThis configuration object is exposed to the `.resolve` and `.process`\ncallbacks as `this.config`. So, for example, if you wanted to implement\nminification as a processing step, you might do it like this:\n```js\nrequire("commoner").resolve(function(id) {\n    return this.readModule(id);\n}).process(function(id, source) {\n    if (this.config.debug)\n        return source;\n    return minify(source);\n});\n```\nPerhaps the coolest thing about the configuration object is that Commoner\ngenerates a recursive hash of all its properties and their values which is\nthen incorporated into every module hash. This means that two modules with\nthe same identifier and identical source code and processing steps will\nhave distinct hashes if built using different configuration objects.\n\nCustom Options\n---\n\nYou can define custom options for your script by using the `option` function.\n\n```js\nrequire("commoner").resolve(function(id) {\n    return this.readModule(id);\n}).option(\n    \'--custom-option\',\n    \'This is a custom option.\'\n).process(function(id, source) {\n    if (this.options.customOption) {\n        source = doCustomThing(source);\n    }\n    return source;\n});\n```\n\nFor more information of the options object available inside the `process` function see [Commander](https://github.com/visionmedia/commander.js).\n',
4959 silly resolved     readmeFilename: 'README.md',
4959 silly resolved     bugs: { url: 'https://github.com/reactjs/commoner/issues' },
4959 silly resolved     _id: 'commoner@0.10.1',
4959 silly resolved     _from: 'commoner@^0.10.0' },
4959 silly resolved   { name: 'jstransform',
4959 silly resolved     version: '10.1.0',
4959 silly resolved     description: 'A simple AST visitor-based JS transformer',
4959 silly resolved     contributors: [ [Object] ],
4959 silly resolved     main: 'src/jstransform',
4959 silly resolved     repository: { type: 'git', url: 'git@github.com:facebook/jstransform.git' },
4959 silly resolved     keywords: [ 'transformer', 'compiler', 'syntax', 'visitor' ],
4959 silly resolved     dependencies:
4959 silly resolved      { base62: '0.1.1',
4959 silly resolved        'esprima-fb': '13001.1001.0-dev-harmony-fb',
4959 silly resolved        'source-map': '0.1.31' },
4959 silly resolved     licenses: [ [Object] ],
4959 silly resolved     engines: { node: '>=0.8.8' },
4959 silly resolved     devDependencies: { 'jest-cli': '^0.2', jshint: '^2.5.10' },
4959 silly resolved     jest:
4959 silly resolved      { scriptPreprocessor: '<rootDir>/jestPreprocessor.js',
4959 silly resolved        setupEnvScriptFile: '<rootDir>/jestEnvironment.js',
4959 silly resolved        testPathIgnorePatterns: [Object] },
4959 silly resolved     scripts:
4959 silly resolved      { prepublish: 'jest && jshint --config=.jshintrc --exclude=node_modules .',
4959 silly resolved        test: 'jest && jshint --config=.jshintrc --exclude=node_modules .' },
4959 silly resolved     readme: '# JSTransform [![Build Status](https://travis-ci.org/facebook/jstransform.svg?branch=master)](https://travis-ci.org/facebook/jstransform)\n\nA simple utility for pluggable JS syntax transforms using the esprima parser.\n\n* Makes it simple to write and plug-in syntax transformations\n* Makes it simple to coalesce multiple syntax transformations in a single pass of the AST\n* Gives complete control over the formatting of the output on a per-transformation basis\n* Supports source map generation\n* Comes pre-bundled with a small set of (optional) ES6 -> ES5 transforms\n\nNOTE: If you\'re looking for a library for writing new greenfield JS transformations, consider looking at the  [Recast](https://github.com/benjamn/recast) library instead of jstransform. We are still actively supporting jstransform (and intend to for the foreseeable future), but longer term we would like to direct efforts toward Recast. Recast does a far better job of supporting a multi-pass JS transformation pipeline, and this is important when attempting to apply many transformations to a source file.\n\n## Examples\nUsing a pre-bundled or existing transform:\n```js\n/**\n * Reads a source file that may (or may not) contain ES6 classes, transforms it\n * to ES5 compatible code using the pre-bundled ES6 class visitors, and prints \n * out the result.\n */\nvar es6ClassVisitors = require(\'jstransform/visitors/es6-class-visitors\').visitorList;\nvar fs = require(\'fs\');\nvar jstransform = require(\'jstransform\');\n\nvar originalFileContents = fs.readFileSync(\'path/to/original/file.js\', \'utf-8\');\n\nvar transformedFileData = jstransform.transform(\n  es6ClassVisitors,\n  originalFileContents\n);\n\nconsole.log(transformedFileData.code);\n```\n\nUsing multiple pre-bundled or existing transforms at once:\n```js\n/**\n * Reads a source file that may (or may not) contain ES6 classes *or* arrow\n * functions, transforms them to ES5 compatible code using the pre-bundled ES6 \n * visitors, and prints out the result.\n */\nvar es6ArrowFuncVisitors = require(\'jstransform/visitors/es6-arrow-function-visitors\').visitorList;\nvar es6ClassVisitors = require(\'jstransform/visitors/es6-class-visitors\').visitorList;\nvar jstransform = require(\'jstransform\');\n\n// Normally you\'d read this from the filesystem, but I\'ll just use a string here\n// to simplify the example.\nvar originalFileContents = "var a = (param1) => param1; class FooClass {}";\n\nvar transformedFileData = jstransform.transform(\n  es6ClassVisitors.concat(es6ArrowFuncVisitors),\n  originalFileContents\n);\n\n// var a = function(param1)  {return param1;}; function FooClass(){"use strict";}\nconsole.log(transformedFileData.code);\n```\n\nWriting a simple custom transform:\n```js\n/**\n * Creates a custom transformation visitor that prefixes all calls to the\n * `eval()` function with a call to `alert()` saying how much of a clown you are\n * for using eval.\n */\nvar jstransform = require(\'jstransform\');\nvar utils = require(\'jstransform/src/utils\');\n\nvar Syntax = jstransform.Syntax;\n\nfunction visitEvalCallExpressions(traverse, node, path, state) {\n  // Appends an alert() call to the output buffer *before* the visited node\n  // (in this case the eval call) is appended to the output buffer\n  utils.append(\'alert("...eval?...really?...");\', state);\n\n  // Now we copy the eval expression to the output buffer from the original\n  // source\n  utils.catchup(node.range[1], state);\n}\nvisitEvalCallExpressions.test = function(node, path, state) {\n  return node.type === Syntax.CallExpression\n         && node.callee.type === Syntax.Identifier\n         && node.callee.name === \'eval\';\n};\n\n// Normally you\'d read this from the filesystem, but I\'ll just use a string here\n// to simplify the example.\nvar originalFileContents = "eval(\'foo\');";\n\nvar transformedFileData = jstransform.transform(\n  [visitEvalCallExpressions], // Multiple visitors may be applied at once, so an\n                              // array is always expected for the first argument\n  originalFileContents\n);\n\n// alert("...eval?...really?...");eval(\'foo\');\nconsole.log(transformedFileData.code);\n```\n',
4959 silly resolved     readmeFilename: 'README.md',
4959 silly resolved     bugs: { url: 'https://github.com/facebook/jstransform/issues' },
4959 silly resolved     _id: 'jstransform@10.1.0',
4959 silly resolved     _from: 'jstransform@^10.1.0' } ]
4960 info install commoner@0.10.1 into /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools
4961 info install jstransform@10.1.0 into /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools
4962 info installOne commoner@0.10.1
4963 info installOne jstransform@10.1.0
4964 info /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner unbuild
4965 info /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform unbuild
4966 verbose tar unpack /home/licoleman/.npm/commoner/0.10.1/package.tgz
4967 silly lockFile 16fed8fe-eact-tools-node-modules-commoner tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner
4968 verbose lock tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner /home/licoleman/.npm/16fed8fe-eact-tools-node-modules-commoner.lock
4969 silly lockFile ed8db0ac--npm-commoner-0-10-1-package-tgz tar:///home/licoleman/.npm/commoner/0.10.1/package.tgz
4970 verbose lock tar:///home/licoleman/.npm/commoner/0.10.1/package.tgz /home/licoleman/.npm/ed8db0ac--npm-commoner-0-10-1-package-tgz.lock
4971 verbose tar unpack /home/licoleman/.npm/jstransform/10.1.0/package.tgz
4972 silly lockFile 2b2f724a-t-tools-node-modules-jstransform tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform
4973 verbose lock tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform /home/licoleman/.npm/2b2f724a-t-tools-node-modules-jstransform.lock
4974 silly lockFile a908932d-m-jstransform-10-1-0-package-tgz tar:///home/licoleman/.npm/jstransform/10.1.0/package.tgz
4975 verbose lock tar:///home/licoleman/.npm/jstransform/10.1.0/package.tgz /home/licoleman/.npm/a908932d-m-jstransform-10-1-0-package-tgz.lock
4976 silly gunzTarPerm modes [ '755', '644' ]
4977 silly gunzTarPerm modes [ '755', '644' ]
4978 silly gunzTarPerm extractEntry package.json
4979 silly lockFile 2b2f724a-t-tools-node-modules-jstransform tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform
4980 silly lockFile 2b2f724a-t-tools-node-modules-jstransform tar:///home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform
4981 silly lockFile a908932d-m-jstransform-10-1-0-package-tgz tar:///home/licoleman/.npm/jstransform/10.1.0/package.tgz
4982 silly lockFile a908932d-m-jstransform-10-1-0-package-tgz tar:///home/licoleman/.npm/jstransform/10.1.0/package.tgz
4983 silly gunzTarPerm extractEntry .npmignore
4984 silly gunzTarPerm extractEntry README.md
4985 info /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/jstransform unbuild
4986 verbose about to build /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools
4987 info /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools unbuild
4988 info preuninstall react-tools@0.13.3
4989 info uninstall react-tools@0.13.3
4990 verbose true,/home/licoleman/tesla/gitgame/learnGitBranching/node_modules,/home/licoleman/tesla/gitgame/learnGitBranching/node_modules unbuild react-tools@0.13.3
4991 verbose /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/.bin,[object Object] binRoot
4992 silly gunzTarPerm extractEntry LICENSE
4993 info postuninstall react-tools@0.13.3
4994 silly gunzTarPerm extractEntry main.js
4995 silly gunzTarPerm extractEntry .travis.yml
4996 error Error: ENOENT, lstat '/home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md'
4997 error If you need help, you may report this log at:
4997 error     <http://github.com/isaacs/npm/issues>
4997 error or email it to:
4997 error     <npm-@googlegroups.com>
4998 error System Linux 3.16.0-30-generic
4999 error command "/usr/bin/nodejs" "/usr/bin/npm" "install"
5000 error cwd /home/licoleman/tesla/gitgame/learnGitBranching
5001 error node -v v0.10.25
5002 error npm -v 1.3.10
5003 error path /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md
5004 error fstream_path /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md
5005 error fstream_type File
5006 error fstream_class FileWriter
5007 error code ENOENT
5008 error errno 34
5009 error fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
5009 error fstream_stack Object.oncomplete (fs.js:107:15)
5010 verbose exit [ 34, true ]

Here is the command line output of npm install

licoleman@licoleman-VirtualBox:~/tesla/gitgame/learnGitBranching$ npm install > npmoutput.txt
npm WARN package.json LearnGitBranching@0.8.0 No description
npm http GET https://registry.npmjs.org/react-tools
npm http GET https://registry.npmjs.org/grunt-lib-phantomjs
npm http 304 https://registry.npmjs.org/react-tools
npm http 304 https://registry.npmjs.org/grunt-lib-phantomjs
npm http GET https://registry.npmjs.org/semver
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/temporary
npm http GET https://registry.npmjs.org/phantomjs
npm http 304 https://registry.npmjs.org/eventemitter2
npm http 304 https://registry.npmjs.org/semver
npm http 304 https://registry.npmjs.org/temporary
npm http 304 https://registry.npmjs.org/phantomjs
npm http GET https://registry.npmjs.org/fs-extra
npm http GET https://registry.npmjs.org/adm-zip/0.4.4
npm http GET https://registry.npmjs.org/kew/0.4.0
npm http GET https://registry.npmjs.org/npmconf/2.1.1
npm http GET https://registry.npmjs.org/progress/1.1.8
npm http GET https://registry.npmjs.org/request/2.42.0
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/request-progress/0.3.1
npm http GET https://registry.npmjs.org/package
npm http 304 https://registry.npmjs.org/kew/0.4.0
npm http 304 https://registry.npmjs.org/adm-zip/0.4.4
npm http 304 https://registry.npmjs.org/request/2.42.0
npm http 304 https://registry.npmjs.org/npmconf/2.1.1
npm http 304 https://registry.npmjs.org/request-progress/0.3.1
npm http 304 https://registry.npmjs.org/which
npm http 304 https://registry.npmjs.org/progress/1.1.8
npm http 304 https://registry.npmjs.org/package
npm http 304 https://registry.npmjs.org/fs-extra
npm http GET https://registry.npmjs.org/throttleit
npm http 304 https://registry.npmjs.org/throttleit
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/jsonfile
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/rimraf
npm http 304 https://registry.npmjs.org/jsonfile
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/config-chain
npm http GET https://registry.npmjs.org/ini
npm http GET https://registry.npmjs.org/once
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/osenv
npm http GET https://registry.npmjs.org/uid-number/0.0.5
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/once
npm http 304 https://registry.npmjs.org/config-chain
npm http 304 https://registry.npmjs.org/ini
npm http 304 https://registry.npmjs.org/nopt
npm http 304 https://registry.npmjs.org/osenv
npm http 304 https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/uid-number/0.0.5
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/wrappy
npm http 304 https://registry.npmjs.org/wrappy
npm http GET https://registry.npmjs.org/json-stringify-safe
npm http GET https://registry.npmjs.org/mime-types
npm http GET https://registry.npmjs.org/node-uuid
npm http GET https://registry.npmjs.org/qs
npm http GET https://registry.npmjs.org/tough-cookie
npm http GET https://registry.npmjs.org/http-signature
npm http GET https://registry.npmjs.org/oauth-sign
npm http GET https://registry.npmjs.org/tunnel-agent
npm http GET https://registry.npmjs.org/form-data
npm http GET https://registry.npmjs.org/hawk/1.1.1
npm http GET https://registry.npmjs.org/bl
npm http GET https://registry.npmjs.org/caseless
npm http GET https://registry.npmjs.org/aws-sign2
npm http GET https://registry.npmjs.org/stringstream
npm http GET https://registry.npmjs.org/forever-agent
npm http 304 https://registry.npmjs.org/json-stringify-safe
npm http 304 https://registry.npmjs.org/tough-cookie
npm http 304 https://registry.npmjs.org/node-uuid
npm http 304 https://registry.npmjs.org/mime-types
npm http 304 https://registry.npmjs.org/qs
npm http 304 https://registry.npmjs.org/http-signature
npm http 304 https://registry.npmjs.org/oauth-sign
npm http 304 https://registry.npmjs.org/tunnel-agent
npm http 304 https://registry.npmjs.org/form-data
npm http 304 https://registry.npmjs.org/bl
npm http 304 https://registry.npmjs.org/caseless
npm http 304 https://registry.npmjs.org/aws-sign2
npm http 304 https://registry.npmjs.org/hawk/1.1.1
npm http 304 https://registry.npmjs.org/stringstream
npm http 304 https://registry.npmjs.org/forever-agent
npm http GET https://registry.npmjs.org/abbrev
npm http 304 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/proto-list
npm http 304 https://registry.npmjs.org/proto-list
npm http GET https://registry.npmjs.org/inflight
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/inflight
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/minimist/0.0.8
npm http 304 https://registry.npmjs.org/minimist/0.0.8
npm http GET https://registry.npmjs.org/combined-stream
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/combined-stream
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/readable-stream
npm http GET https://registry.npmjs.org/ctype/0.5.3
npm http GET https://registry.npmjs.org/asn1/0.1.11
npm http GET https://registry.npmjs.org/assert-plus
npm http 304 https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/ctype/0.5.3
npm http 304 https://registry.npmjs.org/assert-plus
npm http GET https://registry.npmjs.org/delayed-stream/0.0.5
npm http 304 https://registry.npmjs.org/asn1/0.1.11
npm http 304 https://registry.npmjs.org/delayed-stream/0.0.5
npm http GET https://registry.npmjs.org/brace-expansion
npm http 304 https://registry.npmjs.org/brace-expansion
npm http GET https://registry.npmjs.org/core-util-is
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/concat-map/0.0.1
npm http GET https://registry.npmjs.org/balanced-match
npm http 304 https://registry.npmjs.org/isarray/0.0.1
npm http 304 https://registry.npmjs.org/core-util-is
npm http 304 https://registry.npmjs.org/concat-map/0.0.1
npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/balanced-match
npm http GET https://registry.npmjs.org/hoek
npm http GET https://registry.npmjs.org/boom
npm http GET https://registry.npmjs.org/sntp
npm http GET https://registry.npmjs.org/cryptiles
npm http 304 https://registry.npmjs.org/boom
npm http 304 https://registry.npmjs.org/hoek
npm http 304 https://registry.npmjs.org/sntp
npm http 304 https://registry.npmjs.org/cryptiles
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! weird error 127
npm http GET https://registry.npmjs.org/commoner
npm http GET https://registry.npmjs.org/jstransform
npm http 304 https://registry.npmjs.org/jstransform
npm http 304 https://registry.npmjs.org/commoner
npm ERR! Error: ENOENT, lstat '/home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.16.0-30-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/licoleman/tesla/gitgame/learnGitBranching
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md
npm ERR! fstream_path /home/licoleman/tesla/gitgame/learnGitBranching/node_modules/react-tools/node_modules/commoner/README.md
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/licoleman/tesla/gitgame/learnGitBranching/npm-debug.log
npm ERR! not ok code 0
@kenany
Copy link
Contributor

kenany commented May 29, 2015

@Lia-C Have you tried the latest stable release of npm? Support for 1.3 ended many months ago.

@iarna iarna added the support label Jun 3, 2015
@ehsalazar ehsalazar self-assigned this Aug 12, 2015
@ehsalazar
Copy link

We haven’t heard back and we’re trying to clean up some old issues.  If this is still a problem, can you please reply and let us know?  We’ll be happy to reopen if necessary.

@Lia-C
Copy link
Author

Lia-C commented Aug 12, 2015

It works fine, you can close it.
Thanks!

On Wednesday, August 12, 2015, Ernie Salazar notifications@github.com
wrote:

Closed #8399 #8399.


Reply to this email directly or view it on GitHub
#8399 (comment).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants