当前位置: 首页 > 面试题库 >

如何使用node_modules中本地安装的软件包中的可执行文件?

崔琦
2023-03-14
问题内容

如何在中使用模块的本地版本node.js。例如,在我的应用中,我安装了coffee-script:

npm install coffee-script

这会将其安装在中./node_modules,coffee命令在中./node_modules/.bin/coffee。当我在项目的主文件夹中时,是否可以运行此命令?我想我正在寻找类似于bundle exec捆扎机中的东西。基本上,我想指定一个咖啡脚本的版本,参与该项目的每个人都应该使用。

我知道我可以添加该-g标志以在全球范围内安装它,这样咖啡在任何地方都可以正常工作,但是如果我想每个项目使用不同版本的咖啡怎么办?


问题答案:

更新 :正如Seyeong Jeong在下面的答案中指出的那样,从npm 5.2.0开始,您可以使用npx [command],这更加方便。

5.2.0之前的版本的旧答案

推杆的问题

./node_modules/.bin

进入PATH是因为它仅在当前工作目录是项目目录结构的根目录(即的位置node_modules)时才有效

与您的工作目录无关,您可以使用以下命令获取本地安装的二进制文件的路径:

npm bin

要执行coffee独立于项目目录层次结构中本地位置的本地安装二进制文件,可以使用此bash构造

PATH=$(npm bin):$PATH coffee

我将其别名为npm-exec

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

所以,现在我可以

npm-exec coffee

无论我在哪里,都可以运行正确的咖啡

$ 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


 类似资料:
  • 问题内容: 这是问题所在 我有一个require.txt看起来像: 我有一个本地存档目录,其中包含所有软件包和其他软件包。 我创建了一个新的virtualenv 激活它后,我尝试根据本地存档目录中的requirements.txt安装软件包。 我得到一些输出,似乎表明安装正常 但是后来检查发现没有正确安装该软件包。我无法导入软件包,但在virtualenv的site-packages目录中找不到任

  • 如何配置设置。py,这样它就不会试图覆盖已经存在的脚本了?或者,如果编写脚本失败,至少完成包安装的其余部分。我正在使用设置工具进行设置。皮耶。设置的相关部分。这是什么 我的setup.py有版本化脚本(脚本名称中包含python版本)和未版本化脚本。在OS X上,我使用2.7版本的系统python,这需要超级用户权限来运行pip(sudo pip...),这导致脚本安装在具有根所有权的下。然后,当

  • 问题内容: 我是一个有点新的和一般的。 我已经在服务器以及本地开发环境上设置了virtualenv。 在服务器上,程序包运行良好。 但是,在我的本地计算机上似乎根本无法正常工作。 我通常只是像这样在virtual-env中安装它: 不过,这会获得最新版本,这是第一次导致使用最新版本的问题。 所以我像这样卸载了版本5 alpha: 但是现在我不知道如何再次获得工作版本0.4.0 Beta。我试过了,

  • 问题内容: 我正在尝试使用Composer安装软件包的特定版本。我尝试过,但是他们正在安装软件包的最新版本。如果我想要旧版本怎么办? 问题答案: 例如:

  • 问题内容: 大家好,菜鸟Java问题。 我有一个Java项目,并且想在可执行jar中包含一个文本文件。现在,该文本文件位于默认程序包中。 InputFlatFile currentFile =新的InputFlatFile(“ src / theFile.txt”); 正如您使用src所看到的那样,我使用该行抓取文件。但是,这不适用于可执行jar。 有人可以让我知道如何将文件保存在可执行jar中,

  • 问题内容: 我正在使用Mac OS X Yosemite版本10.10.3。 我在http://johnlaudun.org/20150512-installing-and-setting-pip-with- macports/中 使用macport安装了python2.7和pip 我可以成功安装软件包并将其导入我的python环境和python脚本中。但是,找不到与可以从终端中的命令行调用的软件