arduino / arduino-ide

Arduino IDE 2.x
https://www.arduino.cc/en/software
GNU Affero General Public License v3.0
2.29k stars 389 forks source link

Path too long #106

Open sjh114961 opened 4 years ago

sjh114961 commented 4 years ago

Describe the bug Getting a path too long unzipping.

To Reproduce Steps to reproduce the behavior: Unzip package in windows 10

Expected behavior No error

Screenshots

Desktop (please complete the following information): Windows 10 Pro version 10.0.18362 build 18362

Additional context None

kittaakos commented 4 years ago

Getting a path too long unzipping.

There is not much we can do about it, try to extract the app to C:\. Let us know if it still does not work.

sjh114961 commented 4 years ago

I installed it on the "c:\" and that work. The answer is to shorten your name to a much more reasonable size. Now I get this when I try to debug. tool

alranel commented 4 years ago

@sjh114961 what path where you initially trying to unzip in? (Please open a distinct issue for the debugger thing)

alranel commented 4 years ago

I see that the file with the longest name in the Windows package is ./resources/app/plugins/vscode-yaml/extension/node_modules/yaml-language-server/out/server/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types/tsconfig.esm.json which is 194 characters long. @kittaakos do you think that we can't really do much about this?

By the way, maybe would this be solved when we stop distributing the application as a zip file and we provide a proper installer instead?

kittaakos commented 4 years ago

do you think that we can't really do much about this?

Unfortunately, yes. This path comes from a VS Code extension for the YAML language as-is: https://github.com/redhat-developer/vscode-yaml

We cannot change the paths, as Node.js might require them when it runs the VS Code extensions. I will ask around in the Theia community just to make sure I am not missing something and will update this thread.

If the problem occurs only when unzipping the app and not at runtime:

kittaakos commented 4 years ago

As for now, we decided to drop the YAML language support from the application. This means the users will lose all the language features (validation, content assist, hover) in the CLI config editor. This is unfortunate, but we have to replace the CLI config editor with some proper UI anyways.

I have opened an upstream issue: https://github.com/redhat-developer/vscode-yaml/issues/336

CC: @ubidefeo @rsora

aliphys commented 1 year ago

Reproduced this problem when unzipping the nightly build arduino-ide_nightly-20230620_Windows_64bit to the Downloads folder in Windows 11. image

aliphys commented 1 year ago

I tried to modify the registry to allow for longer path names (modify registry at own risk ☠️ ):

  1. Press 🪟 +R
  2. Type regedit and hit Enter. image
  3. In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  4. Change value for LongPathsSenabled DWORD to 1 image
  5. I still get the same error image
  6. The IDE gets stuck on this screen for over 5 minutes image
kittaakos commented 1 year ago

Reproduced this problem when unzipping the nightly build arduino-ide_nightly-20230620_Windows_64bit to the Downloads folder in Windows 11.

I wonder why there is a serialport_unix.o.d file in the application for Windows.


Update:

It comes from the cortex-debug VSIX.

% find ./ -name serialport_unix.o.d
.//resources/app/plugins/cortex-debug/extension/binary_modules/v12.18.3/darwin/x64/node_modules/@serialport/bindings/build/Release/.deps/Release/obj.target/bindings/src/serialport_unix.o.d
.//resources/app/plugins/cortex-debug/extension/binary_modules/v12.14.1/linux/x64/node_modules/@serialport/bindings/build/Release/.deps/Release/obj.target/bindings/src/serialport_unix.o.d
.//resources/app/plugins/cortex-debug/extension/binary_modules/v12.14.1/linux/arm/node_modules/@serialport/bindings/build/Release/.deps/Release/obj.target/bindings/src/serialport_unix.o.d
.//resources/app/plugins/cortex-debug/extension/binary_modules/v12.14.1/linux/arm64/node_modules/@serialport/bindings/build/Release/.deps/Release/obj.target/bindings/src/serialport_unix.o.d
.//resources/app/plugins/cortex-debug/extension/binary_modules/v12.14.1/darwin/x64/node_modules/@serialport/bindings/build/Release/.deps/Release/obj.target/bindings/src/serialport_unix.o.d