theintern / intern

A next-generation code testing stack for JavaScript.
https://theintern.io/
Other
4.36k stars 309 forks source link

unable to install intern #548

Closed titaniumbones closed 8 years ago

titaniumbones commented 8 years ago

Hi,

I'm trying to follow the very first instruction in the README npm install intern and I get this error:

$ pwd
/home/matt/totaltest

$ npm install intern
npm WARN deprecated lodash@2.4.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.

> intern@3.0.6 install /home/matt/node_modules/intern
> node support/fixdeps.js

- chai@3.0.0 node_modules/intern/node_modules/chai
- diff@1.1.0 node_modules/intern/node_modules/diff
- dojo@2.0.0-alpha.6 node_modules/intern/node_modules/dojo
/home/matt
+-- glob@4.5.3
| +-- minimatch@2.0.10 
| | `-- brace-expansion@1.1.2 
| |   `-- balanced-match@0.3.0 
| `-- once@1.3.3 
`-- intern@3.0.6 
  +-- digdug@1.3.2
  | `-- decompress@0.2.3
  |   `-- rimraf@2.4.4
  |     `-- glob@5.0.15
  |       `-- minimatch@3.0.0 
  `-- istanbul@0.3.17
    `-- fileset@0.2.1
      `-- minimatch@2.0.10 

npm WARN enoent ENOENT: no such file or directory, open '/home/matt/package.json'
npm WARN matt No description
npm WARN matt No repository field.
npm WARN matt No README data
npm WARN matt No license field.

I don't know what's up with the lodash error; $ npm -v lodash 3.5.0

And I don't know why npm is strying to open `../package.json Any hints? Thank you!

titaniumbones commented 8 years ago

I should add that node_modules is not created, so the failure seems complete.

vladikoff commented 8 years ago

the lodash thing is just a warning. ( npm WARN deprecated). don't worry.

@titaniumbones npm probably went looking for a directory with a package.json.

Try doing in npm init in /home/matt/totaltest, (follow all the steps) and then running npm install intern Also, what version of node and npm are you using?

titaniumbones commented 8 years ago

that worked.

totaltest  node -v
v5.1.0
➜  totaltest  npm -v
3.5.0
csnover commented 8 years ago

I’m sorry I don’t know what is going on with this ticket. Once you configured npm correctly you were able to install Intern?

titaniumbones commented 8 years ago

I had to follow Vlad's instructions and run "npm init" first. I submitted a pull request #549 to add that instruction to the README.

On 02/12/15 12:56 PM, Colin Snover wrote:

I’m sorry I don’t know what is going on with this ticket. Once you configured npm correctly you were able to install Intern?

— Reply to this email directly or view it on GitHub https://github.com/theintern/intern/issues/548#issuecomment-161380693.

jason0x43 commented 8 years ago

Running npm init is not something you should have to do by default. This seems more like a troubleshooting step than something that should go at the top of the readme.

titaniumbones commented 8 years ago

np, just trying to reduce work for other people. But am probably too ignorant to be helpful!

On 02/12/15 04:27 PM, Jason Cheatham wrote:

Running |npm init| is not something you should have to do by default. This seems more like a troubleshooting step than something that should go at the top of the readme.

— Reply to this email directly or view it on GitHub https://github.com/theintern/intern/issues/548#issuecomment-161438720.

vladikoff commented 8 years ago

It is not clear to me why the install script went looking for package.json in parent directories:

npm WARN enoent ENOENT: no such file or directory, open '/home/matt/package.json'
csnover commented 8 years ago

That’s npm opening package.json, not Intern. Intern doesn’t use lodash either so that message also has nothing to do with Intern. I am not sure what to do with this since it is not an Intern bug.

vladikoff commented 8 years ago

Intern doesn’t use lodash

Not 100% true, js-yaml uses it, so Intern uses it via a dependency.

Anyways, this seems to be a new behaviour in npm 3+ to show a warning that it could not find a package.json. See below. The process exits with code 0 so it is not really an error just several warnings.

You can close this issue, not an intern bug indeed.

➜  tmp   npm install intern
npm WARN deprecated lodash@2.4.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.

> intern@3.0.6 install /Users/vladikoff/tmp/node_modules/intern
> node support/fixdeps.js

/Users/vladikoff/tmp
└─┬ intern@3.0.6 
  ├─┬ chai@3.0.0 
  │ ├── assertion-error@1.0.1 
  │ ├─┬ deep-eql@0.1.3 
  │ │ └── type-detect@0.1.1 
  │ └── type-detect@1.0.0 
  ├── charm@0.2.0 
  ├── diff@1.1.0 
  ├─┬ digdug@1.3.2 
  │ └─┬ decompress@0.2.3 
  │   ├── adm-zip@0.4.7 
  │   ├─┬ extname@0.1.5 
  │   │ ├─┬ ext-list@0.2.0 
  │   │ │ └─┬ got@0.2.0 
  │   │ │   └── object-assign@0.3.1 
  │   │ └── underscore.string@2.3.3 
  │   ├── get-stdin@0.1.0 
  │   ├─┬ map-key@0.1.5 
  │   │ └── lodash@2.4.2 
  │   ├── mkdirp@0.3.5 
  │   ├── nopt@2.2.1 
  │   ├── rimraf@2.4.4 
  │   ├─┬ stream-combiner@0.0.4 
  │   │ └── duplexer@0.1.1 
  │   ├─┬ tar@0.1.20 
  │   │ ├── block-stream@0.0.8 
  │   │ ├─┬ fstream@0.1.31 
  │   │ │ ├── graceful-fs@3.0.8 
  │   │ │ └── mkdirp@0.5.1 
  │   │ └── inherits@2.0.1 
  │   └─┬ tempfile@0.1.3 
  │     └── uuid@1.4.2 
  ├── dojo@2.0.0-alpha.6 
  ├─┬ istanbul@0.3.17 
  │ ├── abbrev@1.0.7 
  │ ├── async@1.5.0 
  │ ├─┬ escodegen@1.6.1 
  │ │ ├── esprima@1.2.5 
  │ │ ├── estraverse@1.9.3 
  │ │ ├── esutils@1.1.6 
  │ │ ├─┬ optionator@0.5.0 
  │ │ │ ├── deep-is@0.1.3 
  │ │ │ ├── fast-levenshtein@1.0.7 
  │ │ │ ├── levn@0.2.5 
  │ │ │ ├── prelude-ls@1.1.2 
  │ │ │ └── type-check@0.3.1 
  │ │ └── source-map@0.1.43 
  │ ├── esprima@2.4.1 
  │ ├─┬ fileset@0.2.1 
  │ │ ├─┬ glob@5.0.15 
  │ │ │ ├── inflight@1.0.4 
  │ │ │ ├── minimatch@3.0.0 
  │ │ │ └── path-is-absolute@1.0.0 
  │ │ └─┬ minimatch@2.0.10 
  │ │   └─┬ brace-expansion@1.1.2 
  │ │     ├── balanced-match@0.3.0 
  │ │     └── concat-map@0.0.1 
  │ ├─┬ handlebars@3.0.0 
  │ │ ├── optimist@0.6.1 
  │ │ ├── source-map@0.1.43 
  │ │ └─┬ uglify-js@2.3.6 
  │ │   ├── async@0.2.10 
  │ │   └── optimist@0.3.7 
  │ ├─┬ js-yaml@3.4.6 
  │ │ ├─┬ argparse@1.0.3 
  │ │ │ ├── lodash@3.10.1 
  │ │ │ └── sprintf-js@1.0.3 
  │ │ ├── esprima@2.7.0 
  │ │ └── inherit@2.2.2 
  │ ├─┬ mkdirp@0.5.1 
  │ │ └── minimist@0.0.8 
  │ ├── nopt@3.0.6 
  │ ├─┬ once@1.3.3 
  │ │ └── wrappy@1.0.1 
  │ ├── resolve@1.1.6 
  │ ├── supports-color@1.3.1 
  │ ├── which@1.0.9 
  │ └── wordwrap@0.0.3 
  ├─┬ leadfoot@1.6.4 
  │ └─┬ jszip@2.5.0 
  │   └── pako@0.2.8 
  └─┬ source-map@0.1.33 
    └── amdefine@1.0.0 

npm WARN ENOENT ENOENT, open '/Users/vladikoff/tmp/package.json'
npm WARN EPACKAGEJSON tmp No description
npm WARN EPACKAGEJSON tmp No repository field.
npm WARN EPACKAGEJSON tmp No README data
npm WARN EPACKAGEJSON tmp No license field.
➜  tmp  npm --version
3.3.12
➜  tmp  node --version
v0.10.38
➜  tmp  npm install grunt
npm WARN deprecated lodash@0.9.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
/Users/vladikoff/tmp
└─┬ grunt@0.4.5 
  ├── async@0.1.22 
  ├── coffee-script@1.3.3 
  ├── colors@0.6.2 
  ├── dateformat@1.0.2-1.2.3 
  ├── eventemitter2@0.4.14 
  ├── exit@0.1.2 
  ├─┬ findup-sync@0.1.3 
  │ └─┬ glob@3.2.11 
  │   └── minimatch@0.3.0 
  ├── getobject@0.1.0 
  ├─┬ glob@3.1.21 
  │ ├── graceful-fs@1.2.3 
  │ └── inherits@1.0.2 
  ├─┬ grunt-legacy-log@0.1.2 
  │ └── grunt-legacy-log-utils@0.1.1 
  ├─┬ grunt-legacy-util@0.2.0 
  │ ├── async@0.1.22 
  │ ├── lodash@0.9.2 
  │ └── underscore.string@2.2.1 
  ├── hooker@0.2.3 
  ├── iconv-lite@0.2.11 
  ├─┬ js-yaml@2.0.5 
  │ ├─┬ argparse@0.1.16 
  │ │ ├── underscore@1.7.0 
  │ │ └── underscore.string@2.4.0 
  │ └── esprima@1.0.4 
  ├── lodash@0.9.2 
  ├─┬ minimatch@0.2.14 
  │ ├── lru-cache@2.7.3 
  │ └── sigmund@1.0.1 
  ├── nopt@1.0.10 
  ├── rimraf@2.2.8 
  └── underscore.string@2.2.1 

npm WARN ENOENT ENOENT, open '/Users/vladikoff/tmp/package.json'
npm WARN EPACKAGEJSON tmp No description
npm WARN EPACKAGEJSON tmp No repository field.
npm WARN EPACKAGEJSON tmp No README data
npm WARN EPACKAGEJSON tmp No license field.
➜  tmp  
jdalton commented 8 years ago
├─┬ digdug@1.3.2
│ └─┬ decompress@0.2.3
│   ├─┬ map-key@0.1.5
│   │ ├── lodash@2.4.2

Updating digdug's dep of decompress should resolve the lodash warning. The decompress package's current version is 3.0.0

csnover commented 8 years ago

Thanks. I meant Intern doesn’t use lodash directly, I just did not speak precisely. The older version of decompress is used intentionally because it works fine and has orders of magnitude fewer dependencies, so it is way faster to download and install than the newer versions which give zero benefit to users.

jdalton commented 8 years ago

Cool. I'll cc @kevva as a heads up.