猿问

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

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

中如何使用模块的本地版本。node.js..例如,在我的应用程序中,我安装了咖啡脚本:

npm install coffee-script

这个安装在./node_modules咖啡命令在./node_modules/.bin/coffee..当我在项目的主文件夹中时,有方法运行这个命令吗?我想我在找类似的东西bundle exec在邦德勒。基本上,我想指定一个每个参与项目的人都应该使用的咖啡脚本版本。

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


UYOU
浏览 549回答 2
2回答

噜噜哒

因为NPM 5.2.0,您可以使用npx [command],比较方便。5.2.0之前版本的旧答案:问题在于./node_modules/.bin在您的路径中,只有在当前工作目录是项目目录结构的根目录(即项目目录结构的位置)时,它才能工作。node_modules)与工作目录无关,您可以通过以下方法获得本地安装的二进制文件的路径:npm bin执行本地安装的coffee与项目目录层次结构中的位置无关的二进制文件,您可以使用这个bash构造。PATH=$(npm bin):$PATH coffee我把这个化名为npm-execalias 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
随时随地看视频慕课网APP

相关分类

Node.js
我要回答