如何使用在节点_模块中本地安装的包?中如何使用模块的本地版本。node.js..例如,在我的应用程序中,我安装了咖啡脚本:npm install coffee-script这个安装在./node_modules咖啡命令在./node_modules/.bin/coffee..当我在项目的主文件夹中时,有方法运行这个命令吗?我想我在找类似的东西bundle exec在邦德勒。基本上,我想指定一个每个参与项目的人都应该使用的咖啡脚本版本。我知道我可以添加-g在全球范围内安装它的标志,这样咖啡在任何地方都能正常工作,但是如果我想要每个项目都有不同版本的咖啡呢?
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
因为NPM 5.2.0,您可以使用npx [command]
,比较方便。
5.2.0之前版本的旧答案:
问题在于
./node_modules/.bin
在您的路径中,只有在当前工作目录是项目目录结构的根目录(即项目目录结构的位置)时,它才能工作。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
- 2 回答
- 0 关注
- 548 浏览
添加回答
举报
0/150
提交
取消