Skip to content

ng fails on Version.assertPostWebpackVersion() on 1.0.0-beta.14 #2135

Closed

Description

@andrevmatos
  1. OS?
    Arch Linux with latest kernel and Node 6.5.0 through NVM
  2. Versions:
    angular-cli: 1.0.0-beta.14
    node: 6.5.0
    os: linux x64
  3. Repro steps.
    Local installation, empty folder:
    npm i angular-cli
    ./node_modules/.bin/ng init # fails
  4. The log given by the failure.
    fs.js:640
    return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
    ^

TypeError: path must be a string or Buffer
at TypeError (native)
at Object.fs.openSync (fs.js:640:18)
at Object.fs.readFileSync (fs.js:508:33)
at Function.Version.fromProject (/sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/angular-cli/upgrade/version.js:87:31)
at Function.Version.isPreWebpack (/sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/angular-cli/upgrade/version.js:111:31)
at Function.Version.assertPostWebpackVersion (/sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/angular-cli/upgrade/version.js:97:18)
at /sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/angular-cli/bin/ng:25:15
at /sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/resolve/lib/async.js:44:21
at ondir (/sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/resolve/lib/async.js:187:31)
at /sec/Dev/Link/scripts/web_files_py/flask_ged/ng/node_modules/resolve/lib/async.js:153:3

  1. Mention any other details that might be useful.
    Commenting out the line 25 on angular-cli/bin/ng makes everything work again.
    This with the check Version.assertPostWebpackVersion(), was added on commit 21003b1 .

Activity

  1. BenoitFroment commented on Sep 15, 2016

    @BenoitFroment

    Same with both Windows 7 and Windows 8.1
    node version : 6.5
    npm version : 3.10.3

    Steps :

    npm install -g angular-cli@latest
    go in work directory
    npm install angular-cli@latest
    ng new

  2. sterlingfs commented on Sep 15, 2016

    @sterlingfs

    same on macOS

  3. alexverdaguer commented on Sep 15, 2016

    @alexverdaguer

    same here on Mac OS sierra with node 6.5.0

  4. iuliust commented on Sep 16, 2016

    @iuliust

    same on Linux Mint with node 6.5

  5. Mattee commented on Sep 16, 2016

    @Mattee

    Same here on Mac OSX Yosemite and Windows 10 with node 6.5.0.

  6. BenoitFroment commented on Sep 16, 2016

    @BenoitFroment

    any news or trick about this?

  7. hopefullToo commented on Sep 16, 2016

    @hopefullToo

    Same on OS X El Capitan
    node v6.6.0
    npm 3.10.7

    Installed latest version (*-beta.14)
    tried ng --help
    same error:

    ng --help
    fs.js:640
    return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
    ^

    TypeError: path must be a string or Buffer
    at TypeError (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.readFileSync (fs.js:508:33)
    at Function.Version.fromProject (/usr/local/lib/node_modules/angular-cli/upgrade/version.js:87:31)
    at Function.Version.isPreWebpack (/usr/local/lib/node_modules/angular-cli/upgrade/version.js:111:31)
    at Function.Version.assertPostWebpackVersion (/usr/local/lib/node_modules/angular-cli/upgrade/version.js:97:18)
    at /usr/local/lib/node_modules/angular-cli/bin/ng:25:15
    at /usr/local/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:44:21
    at ondir (/usr/local/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:187:31)
    at /usr/local/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:153:39

  8. andrevmatos commented on Sep 16, 2016

    @andrevmatos
    Author

    @Aorewen Simplest workaround to continue working in your project is comment line 25 of node_modules/angular-cli/bin/ng :
    // Version.assertPostWebpackVersion();
    Until it is fixed properly.

  9. hopefullToo commented on Sep 16, 2016

    @hopefullToo

    I just commented out line 25 on angular-cli/bin/ng .
    but now ng hangs if I call ng --help
    a new line is displayed and I can enter any text but n nothing happens.
    I quit the call with ^C.

    I do not know if this has to do anything with this nam error message I got after installing angular-cli:

    peer dep missing: webpack@1.x.x || 2.x.x, required by string-replace-loader@1.0.3

    In the meanwhile I installed web pack:
    npm ls webpack -g
    /usr/local/lib
    └── webpack@1.13.2

    But I still get this error:
    npm ls angular-cli
    angular-cli@1.0.0-beta.14 /usr/local/lib/node_modules/angular-cli
    └── UNMET PEER DEPENDENCY webpack@2.1.0-beta.22

    Installed web pack@2.1.0-beta.22 but now I get the "old" message:
    npm ls angular-cli
    ....
    npm ERR! peer dep missing: webpack@1.x.x || 2.x.x, required by string-replace-loader@1.0.3

  10. alexverdaguer commented on Sep 16, 2016

    @alexverdaguer

    Updated node to v6.6.0 and now it works !

  11. ValeryVS commented on Sep 16, 2016

    @ValeryVS
    Contributor

    I fix this for node 6.5.0 with #2178

  12. JelF commented on Sep 20, 2016

    @JelF

    Persisted in v6.6.0 for me

    ➜  angular nvm exec 6.6.0 ng 
    Running node v6.6.0 (npm v3.10.7)
    fs.js:640
      return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                     ^
    
    TypeError: path must be a string or Buffer
        at TypeError (native)
        at Object.fs.openSync (fs.js:640:18)
        at Object.fs.readFileSync (fs.js:508:33)
        at Function.Version.fromProject (/home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/upgrade/version.js:87:31)
        at Function.Version.isPreWebpack (/home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/upgrade/version.js:111:31)
        at Function.Version.assertPostWebpackVersion (/home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/upgrade/version.js:97:18)
        at /home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/bin/ng:25:15
        at /home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:44:21
        at ondir (/home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:187:31)
        at /home/jelf/.nvm/versions/node/v6.6.0/lib/node_modules/angular-cli/node_modules/resolve/lib/async.js:153:39
    

    OS gentoo linux, angular-cli@1.0.0-beta.15

  13. mikedsharp commented on Sep 20, 2016

    @mikedsharp

    Same issue for me on node 6.6.0, windows 10, I just get the upgrade warning and I'm asking for the latest version of angular-cli, I've done about 5 re-install cycles now.

  14. caseyhoward commented on Sep 21, 2016

    @caseyhoward

    I'm on a linux machine and this happens in one directory but not in another. Weird.

    Edit: The directory that worked was an existing project. The one that didn't work was an empty project (ng init hadn't been ran). I didn't some investigation and it's looking for the angular-cli.json file. That file doesn't exist until you run "ng init". This seems like a bug. It's impossible to create new projects.

    I'm not sure how this would ever work for new projects. The ng bin script checks looks for an angular-cli.json first thing and blows up when it doesn't find it.

  15. caseyhoward commented on Sep 21, 2016

    @caseyhoward

    Upon further review, I think I see the error:

    https://github.com/angular/angular-cli/blob/master/packages/angular-cli/upgrade/version.ts#L79

    That line should either check if the file exists or be moved into the try block below (line 82). It's trying to read in angular-cli.json. I'm not sure that's the best fix, but I changed it locally and it works.

  16. 16 remaining items

  17. zackarychapple commented on Oct 3, 2016

    @zackarychapple
    Contributor

    I can confirm that this is happening on Mac when trying to bump from .15 to .16

    Visit http://ember-cli.com/user-guide/#watchman for more info.
    angular-cli: 1.0.0-beta.16
    node: 6.3.1
    os: darwin x64
    

    Failing with this error.

    Path must be a string. Received null
    TypeError: Path must be a string. Received null
        at assertPath (path.js:7:11)
        at Object.resolve (path.js:1148:7)
        at Class.exports.default.Task.extend.run (/Users/zchapple/code/wfa_ng2/node_modules/angular-cli/tasks/build-webpack-watch.js:14:26)
        at Class.Command.extend.run (/Users/zchapple/code/wfa_ng2/node_modules/angular-cli/commands/build.js:50:26)
        at Class.<anonymous> (/Users/zchapple/code/wfa_ng2/node_modules/angular-cli/lib/models/command.js:152:17)
        at tryCatch (/Users/zchapple/code/wfa_ng2/node_modules/rsvp/dist/lib/rsvp/-internal.js:215:12)
        at invokeCallback (/Users/zchapple/code/wfa_ng2/node_modules/rsvp/dist/lib/rsvp/-internal.js:230:13)
        at publish (/Users/zchapple/code/wfa_ng2/node_modules/rsvp/dist/lib/rsvp/-internal.js:198:7)
        at flush (/Users/zchapple/code/wfa_ng2/node_modules/rsvp/dist/lib/rsvp/asap.js:82:5)
        at _combinedTickCallback (internal/process/next_tick.js:67:7)
        at process._tickCallback (internal/process/next_tick.js:98:9)
    
  18. added
    P1Impacts a large percentage of users; if a workaround exists it is partial or overly painful
    and removed on Oct 6, 2016
  19. added a commit that references this issue on Oct 7, 2016
    2b6bfe7
  20. added a commit that references this issue on Oct 14, 2016
    c03e71e
  21. added a commit that references this issue on Oct 19, 2016
    4a042f3
  22. added a commit that references this issue on Nov 3, 2016
    97df8c1
  23. datrinh commented on Jan 13, 2017

    @datrinh

    Not sure if this is the same issue, but I'm getting this error:

    Path must be a string. Received { source: 'environments/environment.ts',
      dev: 'environments/environment.ts',
      prod: 'environments/environment.prod.ts' }
    

    Newly installed ng-cli with these version:

    angular-cli: 1.0.0-beta.25.5
    node: 6.7.0
    os: darwin x64
    @angular/common: 2.4.3
    @angular/compiler: 2.4.3
    @angular/core: 2.4.3
    @angular/forms: 2.4.3
    @angular/http: 2.4.3
    @angular/material: 2.0.0-beta.1
    @angular/platform-browser: 2.4.3
    @angular/platform-browser-dynamic: 2.4.3
    @angular/router: 3.4.3
    @angular/compiler-cli: 2.4.3
    

    Barely did any coding. Added 4 components and one service, also angular/material and now this error is thrown when I run ng serve

  24. angular-automatic-lock-bot commented on Sep 6, 2019

    @angular-automatic-lock-bot

    This issue has been automatically locked due to inactivity.
    Please file a new issue if you are encountering a similar or related problem.

    Read more about our automatic conversation locking policy.

    This action has been performed automatically by a bot.

  25. locked and limited conversation to collaborators on Sep 6, 2019
  26. added a commit that references this issue on May 29, 2026
    5652f48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Impacts a large percentage of users; if a workaround exists it is partial or overly painfultype: bug/fix

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions