Skip to content

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

Closed

Description

@danyaPostfactum

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.

Activity

  1. jfhenriques commented on Nov 14, 2013

    @jfhenriques
    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...

  2. danyaPostfactum commented on Nov 14, 2013

    @danyaPostfactum
    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..

  3. jfhenriques commented on Nov 14, 2013

    @jfhenriques
    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.

  4. JayBeavers commented on Dec 10, 2013

    @JayBeavers
    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

  5. jfhenriques commented on Dec 12, 2013

    @jfhenriques
    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

  6. JayBeavers commented on Apr 4, 2014

    @JayBeavers
    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.

  7. reverofevil commented on Jun 11, 2014

    @reverofevil

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

  8. jfhenriques commented on Jun 28, 2014

    @jfhenriques
    Contributor

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

  9. wizzard0 commented on Sep 9, 2014

    @wizzard0

    I second the need for the patch.

  10. myrises commented on Mar 10, 2015

    @myrises

    @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 ⁉️

  11. Sogl commented on Apr 30, 2015

    @Sogl

    @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

  12. Sogl commented on Apr 30, 2015

    @Sogl

    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.

  13. Chudesnov commented on Jul 20, 2015

    @Chudesnov

    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.

  14. reverofevil commented on Jul 21, 2015

    @reverofevil

    @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.

  15. roman-yerin commented on May 27, 2016

    @roman-yerin

    Still valid. Merge #945 to fix it please

  16. heretikkk commented on Oct 10, 2021

    @heretikkk

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

  17. added a commit that references this issue on Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions