Global npm install location on windows?

前端 未结 4 1437
北海茫月
北海茫月 2020-12-02 08:25

I\'m not 100% sure, but I believe I installed node v5 from the windows installer on both my home and office PCs.

On my home PC global installs happen under %APPDATA%

相关标签:
4条回答
  • 2020-12-02 08:45

    If you're just trying to find out where npm is installing your global module (the title of this thread), look at the output when running npm install -g sample_module

    $ npm install -g sample_module C:\Users\user\AppData\Roaming\npm\sample_module -> C:\Users\user\AppData\Roaming\npm\node_modules\sample_module\bin\sample_module.js + sample_module@5.1.0 updated 1 package in 2.821s

    0 讨论(0)
  • 2020-12-02 08:47

    Just press windows button and type %APPDATA% and type enter.

    Above is the location where you can find \npm\node_modules folder. This is where global modules sit in your system.

    0 讨论(0)
  • 2020-12-02 09:01

    According to: https://docs.npmjs.com/files/folders

    • Local install (default): puts stuff in ./node_modules of the current package root.
    • Global install (with -g): puts stuff in /usr/local or wherever node is installed.
    • Install it locally if you're going to require() it.
    • Install it globally if you're going to run it on the command line. -> If you need both, then install it in both places, or use npm link.

    prefix Configuration

    The prefix config defaults to the location where node is installed. On most systems, this is /usr/local. On windows, this is the exact location of the node.exe binary.

    The docs might be a little outdated, but they explain why global installs can end up in different directories:

    (dev) go|c:\srv> npm config ls -l | grep prefix
    ; prefix = "C:\\Program Files\\nodejs" (overridden)
    prefix = "C:\\Users\\bjorn\\AppData\\Roaming\\npm"
    

    Based on the other answers, it may seem like the override is now the default location on Windows, and that I may have installed my office version prior to this override being implemented.

    This also suggests a solution for getting all team members to have globals stored in the same absolute path relative to their PC, i.e. (run as Administrator):

    mkdir %PROGRAMDATA%\npm
    setx PATH "%PROGRAMDATA%\npm;%PATH%" /M
    npm config set prefix %PROGRAMDATA%\npm
    

    open a new cmd.exe window and reinstall all global packages.

    Explanation (by lineno.):

    1. Create a folder in a sensible location to hold the globals (Microsoft is adamant that you shouldn't write to ProgramFiles, so %PROGRAMDATA% seems like the next logical place.
    2. The directory needs to be on the path, so use setx .. /M to set the system path (under HKEY_LOCAL_MACHINE). This is what requires you to run this in a shell with administrator permissions.
    3. Tell npm to use this new path. (Note: folder isn't visible in %PATH% in this shell, so you must open a new window).
    0 讨论(0)
  • 2020-12-02 09:03

    These are typical npm paths if you install a package globally:

    Windows XP -             %USERPROFILE%\Application Data\npm\node_modules
    Newer Windows Versions - %AppData%\npm\node_modules
    or -                     %AppData%\roaming\npm\node_modules
    
    0 讨论(0)
提交回复
热议问题