Travis.ci 配置和执行 npm 脚本
Posted
技术标签:
【中文标题】Travis.ci 配置和执行 npm 脚本【英文标题】:Travis.ci config and execution of npm scripts 【发布时间】:2018-12-25 16:47:38 【问题描述】:我正在尝试将 Travis 用于 PR 的开源构建。配置非常简单,日志似乎显示在运行yarn install
时安装了适当的模块,并且我正在安装与本地使用的相同版本的纱线。问题是当我尝试执行 package.json 脚本对象中定义的脚本时,在 Travis 中运行时找不到模块。以下是我在构建时收到的配置和错误。
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.7.0
- export PATH="$HOME/.yarn/bin:$PATH"
cache:
yarn: true
directories:
- "node_modules"
env:
- NODE_ENV=production
language: node_js
node_js:
- 8
- 9
- "stable"
install:
- yarn install
script:
- yarn run lint
- yarn test
以上在构建日志中产生以下输出:
yarn run v1.7.0
$ ./node_modules/.bin/eslint src/**
/bin/sh: 1: ./node_modules/.bin/eslint: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
The command "yarn run lint" exited with 1.
0.54s$ yarn run test
yarn run v1.7.0
$ ./node_modules/.bin/jest
/bin/sh: 1: ./node_modules/.bin/jest: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
The command "yarn run test" exited with 1.
本项目的package.json如下:
"scripts":
"test": "./node_modules/.bin/jest",
"lint": "./node_modules/.bin/eslint src/**",
"precommit": "lint-staged",
"format": "prettier --trailing-comma es5 --single-quote --write 'src/*/*.js' '!(node_modules)/**/*.js'"
,
【问题讨论】:
你找到解决方案了吗? 【参考方案1】:遇到了同样的问题,并且能够通过在 package.json 文件中执行以下操作来解决它
"scripts":
"test": "test --passWithNoTests",
【讨论】:
以上是关于Travis.ci 配置和执行 npm 脚本的主要内容,如果未能解决你的问题,请参考以下文章