Comments (7)
The easiest thing I can think of is add new choice: copy the executable binary directly from the local machine to the remote machine
This completely makes sense and is something I planned to do it in the future as part of "completely offline" feature.
So, would downloading on your local and then transferring that on to the remote machine work for your use case? I would update the documentation with the path where all the releases need to be dumped. So, if you have a manual way to do it once, you can do it manually and the plugin would not try to connect to GitHub at all.
Why I cannot simply copy over just the binary is that Neovim ships with some other files along with the release which are I think it might need to run. I will experiment if that is possible at all, though.
from remote-nvim.nvim.
Hey, thanks for bringing this up. I get your frustration, however, I would prefer to keep the dependency solely on the official releases so that I can reliably track any upstream issues.
Depending upon the PPA release creates a few problems:
- It will only solve the issue for Ubuntu.
- I will have to track issues that happen in Ubuntu releases instead of only tracking Neovim installation.
- It would interfere with the system environment (I assume) since we would install it through
apt-get
(??). ppa.launchpad.net
can also face the same issue (maybe?).
Due to these reasons, and to solve your issue as well, here's what I propose:
- We cache the Neovim version locally on your system when it once downloads. During successive runs, we just copy the binary over (we would keep per-OS version copy to avoid wrong binary getting copied).
- If cache is not found, we fetch from
github.com
.
This would not completely solve the problem but would remove the dependency on GitHub once the cache is downloaded. How does that sound?
from remote-nvim.nvim.
I would have to put more thoughts into this to flesh it out completely before implementing it. But what you can do right now is override the install script.
The current installation script is at scripts/install.sh. You can provide your own installation script instead and pass it's path to neovim_install_script_path
so that that would be copied to remote and executed to install Neovim. For more information, see the advanced configuration section in Installation.
We call the script with a command of the type <script> -v <neovim-version> -d <home-directory>/.remote-nvim
and the end result should be a neovim binary at <home-directory>/.remote-nvim/neovim-downloads/<neovim-version>/bin/nvim
. As long as this happens, you can choose any method to install Neovim.
This might sound like a lot (and it is), but that is how you can alleviate this right now.
from remote-nvim.nvim.
Sorry, turned it off by mistake.
from remote-nvim.nvim.
You are right. It is not good to only depend on the PPA due to some users may use it on other OS
The easiest thing I can think of is add new choice: copy the executeable binary directly from the local machine to the remote machine
This is helpful if some of those machine can't connect the release website successfully.
if the neovim can't run on the remote machine, that is problem the owner should deal with.
from remote-nvim.nvim.
This completely makes sense and is something I planned to do it in the future as part of "completely offline" feature.
That's great!
So, would downloading on your local and then transferring that on to the remote machine work for your use case? I would update the documentation with the path where all the releases need to be dumped. So, if you have a manual way to do it once, you can do it manually and the plugin would not try to connect to GitHub at all.
Sure, I can give it a try if your documentation describle the step in details.
Why I cannot simply copy over just the binary is that Neovim ships with some other files along with the release which are I think it might need to run. I will experiment if that is possible at all, though.
Yes, it would be simple and reliable if everything related on the current machine was copied to the remote machine
from remote-nvim.nvim.
I integrated this in #81. Try out the Offline mode and let me know if you face any issues or have suggestions to improve it.
from remote-nvim.nvim.
Related Issues (20)
- Get remote OS failed HOT 5
- Get stuck on the "Find free port on remote running" msg HOT 2
- Nothing happened after "Start local client" HOT 2
- Get remote OS failed: command not found HOT 7
- Get OS Failed (Windows) HOT 1
- Investigate devpod vs devcontainer for backing executable for devcontainer HOT 1
- Add devcontainer support
- Add docker support
- Remote OS Support: FreeBSD HOT 18
- Show running logs for Remote Start
- Replace nvim-notify by nui.nvim popup
- Support dynamic port forwarding
- offline mode: remote machine still need to download plugins from github HOT 9
- the client always in TERMINAL mode, if input C-\ C-n, it will enter the local nvim thread context? HOT 2
- ssh config parser fails when including global options HOT 2
- Plugin connect to host but won't copy the .config file to the session dir HOT 17
- Remote Connection ARM Support HOT 4
- SSH config parser fails when `Include`-ing wildcards HOT 2
- lazy plugin installed, but not loaded; how to use it? HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from remote-nvim.nvim.