必承其重 | 欲带皇冠 2012-03-13 07:31 采纳率: 0%
浏览 722
已采纳

如何使用本地安装的软件包在节点模块?

How do I use a local version of a module in node.js. For example, in my app, I installed coffee-script:

npm install coffee-script

This installs it in ./node_modules and the coffee command is in ./node_modules/.bin/coffee. Is there a way to run this command when I'm in my project's main folder? I guess I'm looking for something similar to bundle exec in bundler. Basically, I'd like to specify a version of coffee-script that everyone involved with the project should use.

I know I can add the -g flag to install it globally so coffee works fine anywhere, but what if I wanted to have different versions of coffee per project?

转载于:https://stackoverflow.com/questions/9679932/how-to-use-package-installed-locally-in-node-modules

  • 写回答

22条回答 默认 最新

  • ~Onlooker 2013-03-01 12:06
    关注

    UPDATE: As Seyeong Jeong points out in their answer below, since npm 5.2.0 you can use npx [command], which is more convenient.

    OLD ANSWER for versions before 5.2.0:

    The problem with putting

    ./node_modules/.bin
    

    into your PATH is that it only works when your current working directory is the root of your project directory structure (i.e. the location of node_modules)

    Independent of what your working directory is, you can get the path of locally installed binaries with

    npm bin
    

    To execute a locally installed coffee binary independent of where you are in the project directory hierarchy you can use this bash construct

    PATH=$(npm bin):$PATH coffee
    

    I aliased this to npm-exec

    alias npm-exec='PATH=$(npm bin):$PATH'
    

    So, now I can

    npm-exec coffee
    

    to run the correct copy of coffee no matter of where I am

    $ pwd
    /Users/regular/project1
    
    $ npm-exec which coffee
    /Users/regular/project1/node_modules/.bin/coffee
    
    $ cd lib/
    $ npm-exec which coffee
    /Users/regular/project1/node_modules/.bin/coffee
    
    $ cd ~/project2
    $ npm-exec which coffee
    /Users/regular/project2/node_modules/.bin/coffee
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(21条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab