Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with non-acsii userprofile name on Windows (7) #297

Closed
danyaPostfactum opened this issue Jul 26, 2013 · 16 comments
Closed

Problem with non-acsii userprofile name on Windows (7) #297

danyaPostfactum opened this issue Jul 26, 2013 · 16 comments

Comments

@danyaPostfactum
Copy link

Problem with .vcxproj file. node-gyp writes it in system codepage (non-utf8), while xml prolog specifies utf-8 in encoding attribute. This causes error while trying to build the project.
My userprofile contains cyrillic characters, so I get non-ACSII characters in paths.

@jfhenriques
Copy link
Contributor

Why didn't this got any attention? This is an important issue. I cannot use node-gyp because my name is João, and I'm not going to create another user just for compiling purposes...

@danyaPostfactum
Copy link
Author

...and I'm not going to create another user...

I did (because of too often similar issues) :) But of course , this is very bad solution..

@jfhenriques
Copy link
Contributor

I was refering that its not pratical to change users each time I need to update or install a package that needs node-gyp. I ended up copying the .node-gyp directory created in my home dir to other place and passed the --nodedir flag. Of course it will not work with npm install, but its better than keep changing users.

@JayBeavers
Copy link
Contributor

One of the beauties of open source is if the problem really annoys you, you are fully empowered to fix it!

There's a lot of work needed to fix issues in node-gyp, so I'm not personally going to be able to investigate this in the near future. Could one of you do the investigation, make a fix, and submit a pull request? @danyaPostfactum @jfhenriques

@jfhenriques
Copy link
Contributor

Hy @JayBeavers I submited a pull request that still needs some work.

At least now it works for me, but it might break for others.

Please take a look at #366

@JayBeavers
Copy link
Contributor

@jfhenriques, your patch is in gyp itself. node-gyp copies gyp from a separate repository, stored here: https://code.google.com/p/gyp/

Please submit your issue in their repository: https://code.google.com/p/gyp/issues/list
Then submit your patch using the process documented here: https://code.google.com/p/gyp/wiki/GypHacking

Then please come back here when your patch is integrated with gyp and we will update our code. This process takes a while because node-gyp is copied into npm and npm is copied into nodejs and gyp is also copied independently into nodejs directly, so lots of refreshes need to be made before a fix to gyp takes effect.

@reverofevil
Copy link

It's 2014. There's still no Unicode support in node-gyp. That's hilarious.

@jfhenriques
Copy link
Contributor

For those who are still waiting for this to be fixed, take a look at the solution I posted here:
#366 (comment)

@wizzard0
Copy link

wizzard0 commented Sep 9, 2014

I second the need for the patch.

@myrises
Copy link

myrises commented Mar 10, 2015

@MattouFP
your "Fix encoding problems in easy_xml.py" (#554):

+ # Fix encoding
+ xml_string = unicode(xml_string, 'latin-1').encode(encoding)

is not working with cyrillic symbols 😞
for correct work in this case 🇷🇺 need another patch:

+ # Fix encoding for cyrillc symbols
+ xml_string = unicode(xml_string, 'Windows-1251').encode(encoding)

This is not good solution in whole. Need a change solution provider maybe ⁉️

@Sogl
Copy link

Sogl commented Apr 30, 2015

@knyazhe1, It not helps me...=(
Windows 8.1 x64, VS 2013 sp4, Russian language in username

Can't install loopback:
http://loopback.io/getting-started/

Output:

C:\Users\Артем\AppData\Roaming\npm\node_modules\strongloop\node_modules\strong-s
upervisor\node_modules\heapdump>if not defined npm_config_node_gyp (node "C:\nod
ejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.
js" rebuild )  else (rebuild)
Сборка проектов в этом решении по одному. Чтобы включить параллельную сборку, до
бавьте параметр "/m".
C:\Users\Артем\AppData\Roaming\npm\node_modules\strongloop\node_modules\strong-
supervisor\node_modules\heapdump\build\addon.vcxproj(47,46): error MSB4025: не
удалось загрузить файл проекта. Недопустимый знак для указанной кодировки., стр
ока 47, позиция 46.
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` fail
ed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\nodejs\node_modules\npm\node_modul
es\node-gyp\lib\build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074
:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "node" "C:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\
bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Артем\AppData\Roaming\npm\node_modules\strongloop\node_mod
ules\strong-supervisor\node_modules\heapdump
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
\

I'm from this issue #404

@Sogl
Copy link

Sogl commented Apr 30, 2015

Finally fixed!
@MattouFP, @knyazhe1, thx for the solution!

My problem was in editing of the wrong file - easy_xml.py on Roaming folder (-g flag in install), but packet file runs node-gyp in Node.js installation directory.

@Chudesnov
Copy link

I believe this issue has to be re-opened.

Unfortunately, the fix provided in 39a06bc affects only Western (Latin-1) releases of Windows, as Cyrillic, Greek, Turkish, Hebrew, Arabic, Baltic and Vietnamese releases use different ANSI code pages.

There is, fortunately, a universal WinAPI method (available on Windows 2000 or higher) for detecting the default ANSI code page, GetACP(), used internally by the locale Python package. Using locale.getdefaultlocale()[1] instead of "Latin-1" fixes this issue on Cyrillic (Russian) Windows 8.1.

@reverofevil
Copy link

@Chudesnov Could you make it into a pull request, please? As it is obvious from the existence of this issue, Nathan doesn't have required skills to support this project. Even with such a deep detail on implementation it's quite unlikely this issue will get fixed.

@roman-yerin
Copy link

Still valid. Merge #945 to fix it please

@heretikkk
Copy link

i cant to install npm on win10. node-gyp really bad

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants