我使用了updated bash to version 4 on Mac OS X Yosemite using homebrew,以便在我的npm脚本中使用"globstar“。例如,使用./test/**/*.js模式递归列出test目录中的所有.js文件。但是,npm将使用较早的bash版本(版本3)运行脚本。
有没有可能让npm使用更新后的bash版本?
(我不确定,但我猜npm使用/bin/bash而不是/usr/local/bin/bash)
更新:我的特定用例是调查使用npm作为构建工具的可能性,例如,使用npm脚本(如"build:test:scripts": "browserify ./test/**/*.js -o /build/test-bundle.js", )将所有测试规范与browserify捆绑在一起。
发布于 2016-07-30 21:48:17
尝试用单引号将"globstar“括起来:
"build:test:scripts": "browserify './test/**/*.js' -o /build/test-bundle.js",发布于 2017-10-05 13:23:42
只需将script-shell配置键设置为Bash4安装的路径即可。
用于通过npm run命令运行的脚本的
。
# local
npm config set script-shell "/usr/local/bin/bash"
# global
npm config set -g script-shell "/usr/local/bin/bash"https://stackoverflow.com/questions/30604138
复制相似问题