bower: bower init - TypeError: Cannot read property 'substring' of undefined

I’ve been having issues with initialising bower in my projects. I’ve tried with 1.6.4 and 1.6.5 but both give the same issue.

$ bower init --config.interactive
bower error         Cannot read property 'substring' of undefined

Stack trace:
TypeError: Cannot read property 'substring' of undefined
    at Interface.rl._getCursorPos (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\node_modules\readline2\index.js:51:51)
    at ScreenManager.render (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\utils\screen-manager.js:19:27)
    at Prompt.render (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\prompts\input.js:75:15)
    at Prompt._run (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\prompts\input.js:49:8)
    at Prompt.run (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\prompts\base.js:57:8)
    at Object.<anonymous> (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\ui\prompt.js:84:12)
    at module.exports (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\node_modules\run-async\index.js:15:21)
    at AnonymousObservable.__subscribe (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\lib\utils\utils.js:16:7)
    at AnonymousObservable.tryCatcher (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\node_modules\rx-lite\rx.lite.js:63:31)
    at setDisposable (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\inquirer\node_modules\rx-lite\rx.lite.js:5741:44)

Console trace:
Error
    at StandardRenderer.error (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\lib\renderers\StandardRenderer.js:82:37)
    at Logger.<anonymous> (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\bin\bower:110:22)
    at Logger.emit (events.js:107:17)
    at Logger.emit (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\bower-logger\lib\Logger.js:29:39)
    at C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\lib\commands\index.js:48:20
    at _rejected (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:844:24)
    at C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:870:30
    at Promise.when (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:1122:31)
    at Promise.promise.promiseDispatch (C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:788:41)
    at C:\Users\Karl\AppData\Roaming\npm\node_modules\bower\node_modules\q\q.js:604:44
System info:
Bower version: 1.6.4
Node version: 0.12.7
OS: Windows_NT 6.3.9600 x64

Is this a known issue or just me?

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Reactions: 4
  • Comments: 18 (4 by maintainers)

Most upvoted comments

Ditto, I’m fairly new to bower, however. Today on my Windows 10 Pro machine I:

  • installed latest Git for Windows

  • ran “npm install -g bower”

  • ran “bower init” and received a “Register requires an interactive shell, you can manually force an interactive shell with --config.interactive” message

  • ran “bower init --config.interactive” and received the same error as above.

    Let me know if there’s any more information I can provide.

By the suggestions on the other pages linked, I simply went through Windows command line rather than git.

Had similar problem, fixed it by switching to normal command prompt instead of git-bash.

TypeError: Cannot read property 'substring' of undefined
    at Interface.rl._getCursorPos (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\readline2\index.js:51:51)
    at ScreenManager.render (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\utils\screen-manager.js:19:27)
    at Prompt.render (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\prompts\input.js:75:15)
    at Prompt._run (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\prompts\input.js:49:8)
    at Prompt.run (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\prompts\base.js:57:8)
    at Object.<anonymous> (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\ui\prompt.js:84:12)
    at module.exports (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\run-async\index.js:15:21)
    at AnonymousObservable.__subscribe (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\inquirer\lib\utils\utils.js:16:7)
    at AnonymousObservable.tryCatcher (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\rx-lite\rx.lite.js:63:31)
    at setDisposable (C:\Users\john.heilman\AppData\Roaming\npm\node_modules\bower\lib\node_modules\rx-lite\rx.lite.js:5741:44)
... ... ...
Bower version: 1.7.7
Node version: 5.5.0
OS: Windows_NT 6.1.7601 x64

I updated NodeJS to 5.0.0 but the issue persists.