【发布时间】:2015-10-22 14:51:59
【问题描述】:
目前我以这种方式使用本地部门运行 npm 脚本:
package.json:
"scripts": {
"test": "node ./node_modules/karma/bin/karma start",
"node-test": "node ./node_modules/jasmine/bin/jasmine",
"build": "node ./node_modules/gulp/bin/gulp build"
},
我不想使用全局 deps,因为我可能忘记将 deps 添加到 package.json。这样,当缺少本地 dep 时,我会收到一条错误消息并且我没有问题,因为某些 dep 未全局安装,例如业力插件。
有没有更好(更短)的方法来使用本地库定义 npm 脚本?这个 travis 兼容吗?
编辑:
如果不是很明显,我在全局安装了相同的库,但我想使用这些项目的本地安装。这意味着当我使用karma start 启动 karma 时,全局安装的版本将启动 karma 服务器,这意味着如果我没有全局安装所有的 karma 插件,则会出现错误。
我有 Windows 的另一个问题,所以这里描述的解决方案:How to use package installed locally in node_modules? 不起作用。 Windows 无法识别 #!/bin/sh 和 #!/usr/bin/env node 头部部分,据我所知,没有 sh 命令。至少不在 webstorm 终端中。 Git bash 有 sh 命令,但我想从 webstorm 终端运行这些 npm 脚本。
一种可能的解决方案是修复 webstorm,使其可以从终端使用 sh。之后我可以使用$(npm bin) 我假设。但这只是一个猜测。我不确定这是否可以做到。
【问题讨论】:
标签: node.js windows npm webstorm travis-ci