rhysd / NyaoVim

Web-enhanced Extensible Neovim Frontend
Other
2.22k stars 57 forks source link

Installation fails on UbuntuGNOME 15.10+ (electron download broken) #40

Open cookiengineer opened 8 years ago

cookiengineer commented 8 years ago

Expected Behavior

The installation should work. While I get that binaries are linked to /usr/bin/* it means that you have to use sudo/root rights in order to get that up and running.

sudo npm install -g nyaovim

Actual Behavior

The installation fails becauset the electron prebuilt download is not available. As it's an EACCES error while using sudo, I guess the problem is either that some sub-script routine is spawned with another username or that the file path is incorrect.

Error: EACCES: permission denied, rename '/usr/lib/node_modules/nyaovim/node_modules/electron-prebuilt/electron-tmp-download-13671-1458848039081/electron-v0.36.11-linux-x64.zip' -> '/home/cookiengineer/.electron/electron-v0.36.11-linux-x64.zip'
    at Error (native)
npm WARN install:electron-prebuilt@0.36.11 electron-prebuilt@0.36.11 postinstall: `node install.js`
npm WARN install:electron-prebuilt@0.36.11 Exit status 1
/usr/lib
└── (empty)

npm ERR! code 1

Your Environment

Why are there no binary prebuilds available in the Releases section on github for Linux? I would love to make some Linux builds, if somebody tells me how to and where the required build scripts for that are.

pcaneill commented 8 years ago

Have you tried cloning the repository and hit "npm start"?

I had issue with a -g installation.

But it worked via the repository.

kraxli commented 8 years ago

Hi I have the same problem on Windows 7 and Ubunut 16.06 (both 64bit).

Output on Ubuntu:

sudo npm install -g nyaovim

/usr/local/bin/nyaovim -> /usr/local/lib/node_modules/nyaovim/bin/cli.js

> electron-prebuilt@0.36.12 postinstall /usr/local/lib/node_modules/nyaovim/node_modules/electron-prebuilt
> node install.js

sh: 1: node: not found
/usr/local/lib
└── (empty)

npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "nyaovim"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! electron-prebuilt@0.36.12 postinstall: `node install.js`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the electron-prebuilt@0.36.12 postinstall script 'node install.js'.

and with cloning it:

~/NyaoVim$ npm start

> nyaovim@0.0.19 start /home/myHomeDir/NyaoVim
> npm run dep && npm run build && npm run app

> nyaovim@0.0.19 dep /home/myHomeDir/NyaoVim
> npm install && bower install && typings install

> electron-prebuilt@0.36.12 postinstall /home/myHomeDir/NyaoVim/node_modules/electron-prebuilt
> node install.js

sh: 1: node: not found
nyaovim@0.0.19 /home/myHomeDir/NyaoVim
├─┬ about-window@1.3.1 
│ └── object-assign@4.1.0 
├── bower@1.7.9 
├── deep-extend@0.4.1 
├─┬ electron-window-state@2.1.0 
│ ├── deep-equal@1.0.1 
│ └── jsonfile@2.3.1 
├─┬ mkdirp@0.5.1 
│ └── minimist@0.0.8 
├─┬ neovim-component@0.5.2 
│ ├─┬ flux@2.1.1 
│ │ ├─┬ fbemitter@2.0.2 
│ │ │ └─┬ fbjs@0.7.2 
│ │ │   ├─┬ isomorphic-fetch@2.2.1 
│ │ │   │ ├─┬ node-fetch@1.5.3 
│ │ │   │ │ └─┬ encoding@0.1.12 
│ │ │   │ │   └── iconv-lite@0.4.13 
│ │ │   │ └── whatwg-fetch@1.0.0 
│ │ │   └── ua-parser-js@0.7.10 
│ │ ├─┬ fbjs@0.1.0-alpha.7 
│ │ │ ├── core-js@1.2.6 
│ │ │ ├─┬ promise@7.1.1 
│ │ │ │ └── asap@2.0.4 
│ │ │ └── whatwg-fetch@0.9.0 
│ │ └── immutable@3.8.1 
│ └── loglevel@1.4.1 
├─┬ promised-neovim-client@1.0.1 
│ ├── es6-promise@3.2.1 
│ ├── lodash@3.10.1 
│ ├─┬ msgpack5rpc@1.0.2 
│ │ └─┬ msgpack5@3.3.0 
│ │   ├─┬ bl@1.1.2 
│ │   │ └─┬ readable-stream@2.0.6 
│ │   │   └── isarray@1.0.0 
│ │   ├── inherits@2.0.1 
│ │   └─┬ readable-stream@2.1.4 
│ │     ├── buffer-shims@1.0.0 
│ │     ├── core-util-is@1.0.2 
│ │     ├── isarray@1.0.0 
│ │     ├── process-nextick-args@1.0.7 
│ │     ├── string_decoder@0.10.31 
│ │     └── util-deprecate@1.0.2 
│ └── traverse@0.6.6 
├── typescript@1.8.10 
└─┬ typings@0.6.10 
  ├── any-promise@1.3.0 
  ├── archy@1.0.0 
  ├── array-uniq@1.0.2 
  ├── bluebird@3.4.0 
  ├─┬ chalk@1.1.3 
  │ ├── ansi-styles@2.2.1 
  │ ├── escape-string-regexp@1.0.5 
  │ ├── has-ansi@2.0.0 
  │ ├── strip-ansi@3.0.1 
  │ └── supports-color@2.0.0 
  ├─┬ columnify@1.5.4 
  │ └─┬ wcwidth@1.0.1 
  │   └─┬ defaults@1.0.3 
  │     └── clone@1.0.2 
  ├─┬ debug@2.2.0 
  │ └── ms@0.7.1 
  ├─┬ detect-indent@4.0.0 
  │ └─┬ repeating@2.0.1 
  │   └─┬ is-finite@1.0.1 
  │     └── number-is-nan@1.0.0 
  ├── elegant-spinner@1.0.1 
  ├── graceful-fs@4.1.4 
  ├─┬ has@1.0.1 
  │ └── function-bind@1.1.0 
  ├─┬ inquirer@0.12.0 
  │ ├── ansi-escapes@1.4.0 
  │ ├── ansi-regex@2.0.0 
  │ ├─┬ cli-cursor@1.0.2 
  │ │ └─┬ restore-cursor@1.0.1 
  │ │   ├── exit-hook@1.1.1 
  │ │   └── onetime@1.1.0 
  │ ├── cli-width@2.1.0 
  │ ├── figures@1.7.0 
  │ ├── lodash@4.13.1 
  │ ├─┬ readline2@1.0.1 
  │ │ ├── code-point-at@1.0.0 
  │ │ ├── is-fullwidth-code-point@1.0.0 
  │ │ └── mute-stream@0.0.5 
  │ ├─┬ run-async@0.1.0 
  │ │ └─┬ once@1.3.3 
  │ │   └── wrappy@1.0.2 
  │ ├── rx-lite@3.1.2 
  │ ├── string-width@1.0.1 
  │ └── through@2.3.8 
  ├─┬ insight@0.7.0 
  │ ├── async@1.5.2 
  │ ├─┬ configstore@1.4.0 
  │ │ ├── os-tmpdir@1.0.1 
  │ │ ├─┬ osenv@0.1.3 
  │ │ │ └── os-homedir@1.0.1 
  │ │ ├── uuid@2.0.2 
  │ │ ├─┬ write-file-atomic@1.1.4 
  │ │ │ ├── imurmurhash@0.1.4 
  │ │ │ └── slide@1.1.6 
  │ │ └── xdg-basedir@2.0.0 
  │ ├─┬ inquirer@0.10.1 
  │ │ └── cli-width@1.1.1 
  │ ├─┬ lodash.debounce@3.1.1 
  │ │ └── lodash._getnative@3.9.1 
  │ ├─┬ os-name@1.0.3 
  │ │ ├── osx-release@1.1.0 
  │ │ └── win-release@1.1.1 
  │ ├─┬ request@2.72.0 
  │ │ ├── aws-sign2@0.6.0 
  │ │ ├── aws4@1.4.1 
  │ │ ├── caseless@0.11.0 
  │ │ ├─┬ combined-stream@1.0.5 
  │ │ │ └── delayed-stream@1.0.0 
  │ │ ├── extend@3.0.0 
  │ │ ├── forever-agent@0.6.1 
  │ │ ├── form-data@1.0.0-rc4 
  │ │ ├─┬ har-validator@2.0.6 
  │ │ │ ├─┬ commander@2.9.0 
  │ │ │ │ └── graceful-readlink@1.0.1 
  │ │ │ ├─┬ is-my-json-valid@2.13.1 
  │ │ │ │ ├── generate-function@2.0.0 
  │ │ │ │ ├─┬ generate-object-property@1.2.0 
  │ │ │ │ │ └── is-property@1.0.2 
  │ │ │ │ ├── jsonpointer@2.0.0 
  │ │ │ │ └── xtend@4.0.1 
  │ │ │ └─┬ pinkie-promise@2.0.1 
  │ │ │   └── pinkie@2.0.4 
  │ │ ├─┬ hawk@3.1.3 
  │ │ │ ├── boom@2.10.1 
  │ │ │ ├── cryptiles@2.0.5 
  │ │ │ ├── hoek@2.16.3 
  │ │ │ └── sntp@1.0.9 
  │ │ ├─┬ http-signature@1.1.1 
  │ │ │ ├── assert-plus@0.2.0 
  │ │ │ ├─┬ jsprim@1.2.2 
  │ │ │ │ ├── extsprintf@1.0.2 
  │ │ │ │ ├── json-schema@0.2.2 
  │ │ │ │ └── verror@1.3.6 
  │ │ │ └─┬ sshpk@1.8.3 
  │ │ │   ├── asn1@0.2.3 
  │ │ │   ├── assert-plus@1.0.0 
  │ │ │   ├─┬ dashdash@1.14.0 
  │ │ │   │ └── assert-plus@1.0.0 
  │ │ │   ├── ecc-jsbn@0.1.1 
  │ │ │   ├─┬ getpass@0.1.6 
  │ │ │   │ └── assert-plus@1.0.0 
  │ │ │   ├── jodid25519@1.0.2 
  │ │ │   ├── jsbn@0.1.0 
  │ │ │   └── tweetnacl@0.13.3 
  │ │ ├── is-typedarray@1.0.0 
  │ │ ├── isstream@0.1.2 
  │ │ ├── json-stringify-safe@5.0.1 
  │ │ ├─┬ mime-types@2.1.11 
  │ │ │ └── mime-db@1.23.0 
  │ │ ├── node-uuid@1.4.7 
  │ │ ├── oauth-sign@0.8.2 
  │ │ ├── qs@6.1.0 
  │ │ ├── stringstream@0.0.5 
  │ │ └── tunnel-agent@0.4.3 
  │ └── tough-cookie@2.2.2 
  ├─┬ invariant@2.2.1 
  │ └─┬ loose-envify@1.2.0 
  │   └── js-tokens@1.0.3 
  ├─┬ is-absolute@0.2.5 
  │ ├─┬ is-relative@0.2.1 
  │ │ └─┬ is-unc-path@0.1.1 
  │ │   └── unc-path-regex@0.1.2 
  │ └── is-windows@0.1.1 
  ├── listify@1.0.0 
  ├── lockfile@1.0.1 
  ├── log-update@1.0.2 
  ├─┬ make-error-cause@1.1.0 
  │ └── make-error@1.1.1 
  ├── minimist@1.2.0 
  ├─┬ object.pick@1.1.2 
  │ └─┬ isobject@2.1.0 
  │   └── isarray@1.0.0 
  ├─┬ parse-json@2.2.0 
  │ └─┬ error-ex@1.3.0 
  │   └── is-arrayish@0.2.1 
  ├─┬ popsicle@4.0.0 
  │ ├── arrify@1.0.1 
  │ ├─┬ concat-stream@1.5.0 
  │ │ ├─┬ readable-stream@2.0.6 
  │ │ │ └── isarray@1.0.0 
  │ │ └── typedarray@0.0.6 
  │ ├─┬ form-data@0.2.0 
  │ │ ├── async@0.9.2 
  │ │ ├─┬ combined-stream@0.0.7 
  │ │ │ └── delayed-stream@0.0.5 
  │ │ └─┬ mime-types@2.0.14 
  │ │   └── mime-db@1.12.0 
  │ ├── methods@1.1.2 
  │ └── xtend@4.0.1 
  ├─┬ popsicle-proxy-agent@1.0.0 
  │ ├─┬ http-proxy-agent@1.0.0 
  │ │ └─┬ agent-base@2.0.1 
  │ │   └── semver@5.0.3 
  │ └── https-proxy-agent@1.0.0 
  ├── popsicle-retry@1.0.1 
  ├── popsicle-status@1.0.2 
  ├── promise-finally@2.2.0 
  ├─┬ rc@1.1.6 
  │ ├── ini@1.3.4 
  │ └── strip-json-comments@1.0.4 
  ├─┬ rimraf@2.5.2 
  │ └─┬ glob@7.0.3 
  │   ├── inflight@1.0.5 
  │   ├─┬ minimatch@3.0.0 
  │   │ └─┬ brace-expansion@1.1.4 
  │   │   ├── balanced-match@0.4.1 
  │   │   └── concat-map@0.0.1 
  │   └── path-is-absolute@1.0.0 
  ├─┬ sort-keys@1.1.2 
  │ └── is-plain-obj@1.1.0 
  ├── string-template@1.0.0 
  ├─┬ strip-bom@2.0.0 
  │ └── is-utf8@0.2.1 
  ├── thenify@3.2.0 
  ├─┬ touch@1.0.0 
  │ └─┬ nopt@1.0.10 
  │   └── abbrev@1.0.7 
  ├── typescript@1.8.7 
  ├─┬ update-notifier@0.6.3 
  │ ├─┬ boxen@0.3.1 
  │ │ ├── filled-array@1.1.0 
  │ │ └── widest-line@1.0.0 
  │ ├─┬ configstore@2.0.0 
  │ │ └─┬ dot-prop@2.4.0 
  │ │   └── is-obj@1.0.1 
  │ ├── is-npm@1.0.0 
  │ ├─┬ latest-version@2.0.0 
  │ │ └─┬ package-json@2.3.2 
  │ │   ├─┬ got@5.6.0 
  │ │   │ ├─┬ create-error-class@3.0.2 
  │ │   │ │ └── capture-stack-trace@1.0.0 
  │ │   │ ├─┬ duplexer2@0.1.4 
  │ │   │ │ └─┬ readable-stream@2.1.4 
  │ │   │ │   └── isarray@1.0.0 
  │ │   │ ├── is-redirect@1.0.0 
  │ │   │ ├── is-retry-allowed@1.0.0 
  │ │   │ ├── is-stream@1.1.0 
  │ │   │ ├── lowercase-keys@1.0.0 
  │ │   │ ├── node-status-codes@1.0.0 
  │ │   │ ├─┬ read-all-stream@3.1.0 
  │ │   │ │ └─┬ readable-stream@2.1.4 
  │ │   │ │   └── isarray@1.0.0 
  │ │   │ ├─┬ readable-stream@2.1.4 
  │ │   │ │ └── isarray@1.0.0 
  │ │   │ ├── timed-out@2.0.0 
  │ │   │ ├── unzip-response@1.0.0 
  │ │   │ └─┬ url-parse-lax@1.0.0 
  │ │   │   └── prepend-http@1.0.4 
  │ │   └── registry-url@3.1.0 
  │ └─┬ semver-diff@2.1.0 
  │   └── semver@5.1.0 
  ├── wordwrap@1.0.0 
  ├── xtend@4.0.1 
  └── zip-object@0.1.0 

npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! electron-prebuilt@0.36.12 postinstall: `node install.js`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the electron-prebuilt@0.36.12 postinstall script 'node install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the electron-prebuilt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs electron-prebuilt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls electron-prebuilt
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/myHomeDir/NyaoVim/npm-debug.log

npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "dep"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! nyaovim@0.0.19 dep: `npm install && bower install && typings install`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the nyaovim@0.0.19 dep script 'npm install && bower install && typings install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the nyaovim package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm install && bower install && typings install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs nyaovim
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls nyaovim
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/myHomeDir/NyaoVim/npm-debug.log

npm ERR! Linux 4.4.0-22-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! nyaovim@0.0.19 start: `npm run dep && npm run build && npm run app`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the nyaovim@0.0.19 start script 'npm run dep && npm run build && npm run app'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the nyaovim package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run dep && npm run build && npm run app
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs nyaovim
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls nyaovim
npm ERR! There is likely additional logging output above

Does anybody has a clue what is going on and how to solve this? Many thanks, Dave

kraxli commented 8 years ago

sorry "node" was missing on Ubuntu. With node I was able to install. But starting nyaovim I get a blank window and I cannot do anything ...

cookiengineer commented 8 years ago

@Moeryn When installing it locally via npm install, the binaries are totally fucked up and don't work.

That means I get the same problem as @kraxli with a blank window with literally zero content and zero error messages in bash process.

nyaovim-dummy/node_modules$ node nyaovim/bin/cli.js

When trying to start nyaovim/main/main.js directly, electron node module can't be found.

Why is nyaovim not bundled as a zip file and served on npm anyways? This literally is kicking me off the project as a first-time user if there's no bundled zip download to download, extract & run available. Too many possible failures.