jwkvam / jupyterlab-vim

:neckbeard: Vim notebook cell bindings for JupyterLab
MIT License
971 stars 73 forks source link

manual install? #22

Open jpmorris opened 6 years ago

jpmorris commented 6 years ago

I'm behind a corporate firewall (that blocks yarnpkg.com), is there a way to manually install this (by downloading from git, for example)?

jwkvam commented 6 years ago

Hmm, that could be tricky. Does your firewall also block npmjs.com?

If not, then you still have a fighting chance of installing yarn I think. Do one of:

Then you can follow instructions in the README for installing a development build. https://github.com/jwkvam/jupyterlab_vim#development

If npm.js is blocked, then maybe you can still use docker to run jupyterlab and jupyterlab_vim. If your firewall doesn't block docker, find a docker image that provides jupyterlab, then create a dockerfile which uses that as a base and install jupyterlab_vim from source in the docker.

If your firewall blocks npmjs and docker then I'm out of ideas other than building a docker outside your firewall and transferring it in some other way.

Let me know if you need more details or make some progress. It'd be nice to have this documented if other users run into this.

jpmorris commented 6 years ago

So I do have access to npm since my organization does have js developers.

jwkvam commented 6 years ago

Ah nice! I forgot conda provides node and yarn :)

I agree some of the commands may be redundant, I'm following the cookie cutter guide. Do npm install and npm run build succeed? I tried redirecting registry.yarnpkg.com to localhost and it still installs for me from source, despite errors connecting to yarnpkg.

https://pastebin.com/evB1Fupi

That's after I do:

npm install
npm run build
jupyter labextension link .

If that still fails, I would ask the JupyterLab devs if they know how to do this.

jpmorris commented 6 years ago

yes npm install and npm run build did succeed, however when I launch up jupyterlab although it brings up two dialog boxes (including and 'build complete, reload page?'), and I can see similar ouptut from running jupyterlab in the terminal (similar to the ones from the commands above, including same errrors).

I do notice that it complains about webpack is not recognized as an internal or external command. I tried installing with npm install webpack, but it didnt seem to make a difference. Because webpack is installed through npm through conda (virtual env) and ran through conda (on a non-admin user machine) it's unlikely that webpack is in my path. Is there someway to let the script know the location of my webpack?

jwkvam commented 6 years ago

For me it seems like it's using a webpack provided by jupyterlab. For me it's here:

$ ~/miniconda/share/jupyter/lab/staging/node_modules/.bin/webpack --version
2.7.0
jpmorris commented 6 years ago

I don't seem to have webpack anywhere after I npm install webpack I do see a couple of webpack.config.js files but that's it. The install does warn me that there is no package.json. Do you have a package.json that you are using that you can paste here that I can use and try and install again. Thanks for your help.

jwkvam commented 6 years ago

Sure, I just use the same one in the repo. If you don't get that to work I would ask the jupyterlab devs about this and reference this issue. They are pretty nice and helpful in my experience.

gitter.im/jupyterlab/jupyterlab

Maybe this has been thought about some already? https://github.com/jupyterlab/jupyterlab/issues/2065

https://github.com/jwkvam/jupyterlab_vim/blob/v0.4.1/package.json

{
  "name": "jupyterlab_vim",
  "version": "0.4.1",
  "description": "Code cell vim bindings",
  "author": "Jacques Kvam",
  "main": "lib/index.js",
  "types": "lib/index.d.ts",
  "license": "MIT",
  "homepage": "https://github.com/jwkvam/jupyterlab_vim",
  "bugs": {
    "url": "https://github.com/jwkvam/jupyterlab_vim/issues"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/jwkvam/jupyterlab_vim.git"
  },
  "keywords": [
    "extension",
    "jupyter",
    "jupyterlab",
    "jupyterlab-extension"
  ],
  "scripts": {
    "build": "tsc",
    "clean": "rimraf lib",
    "prepare": "npm run build",
    "watch": "tsc -w"
  },
  "files": [
    "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
    "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
  ],
  "jupyterlab": {
    "extension": true
  },
  "dependencies": {
    "@jupyterlab/application": "^0.15.4",
    "@jupyterlab/codemirror": "^0.15.4",
    "@jupyterlab/cells": "^0.15.4",
    "@jupyterlab/notebook": "^0.15.4",
    "@phosphor/commands": "^1.4.0",
    "@types/codemirror": "^0.0.55"
  },
  "devDependencies": {
    "rimraf": "^2.6.2",
    "typescript": "~2.6.2"
  }
}