You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Problem with non-acsii userprofile name on Windows (7) #297
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.
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...
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.
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
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.
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.
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.
@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.
Activity
jfhenriques commentedon Nov 14, 2013
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 commentedon Nov 14, 2013
I did (because of too often similar issues) :) But of course , this is very bad solution..
jfhenriques commentedon Nov 14, 2013
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 commentedon Dec 10, 2013
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 commentedon Dec 12, 2013
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 commentedon Apr 4, 2014
@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 commentedon Jun 11, 2014
It's 2014. There's still no Unicode support in
node-gyp. That's hilarious.jfhenriques commentedon Jun 28, 2014
For those who are still waiting for this to be fixed, take a look at the solution I posted here:
#366 (comment)
wizzard0 commentedon Sep 9, 2014
I second the need for the patch.
myrises commentedon Mar 10, 2015
@MattouFP
your "Fix encoding problems in easy_xml.py" (#554):
is not working with cyrillic symbols 😞
for correct work in this case 🇷🇺 need another patch:
This is not good solution in whole. Need a change solution provider maybe⁉️
Sogl commentedon 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:
I'm from this issue #404
Sogl commentedon 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 commentedon Jul 20, 2015
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 thelocalePython package. Usinglocale.getdefaultlocale()[1]instead of"Latin-1"fixes this issue on Cyrillic (Russian) Windows 8.1.reverofevil commentedon Jul 21, 2015
@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 commentedon May 27, 2016
Still valid. Merge #945 to fix it please
heretikkk commentedon Oct 10, 2021
i cant to install npm on win10. node-gyp really bad
Merge pull request nodejs#297 from Eugeny/winpty-update