为什么它适用于npm而不是纱线?

时间:2018-04-12 13:02:06

标签: javascript npm yarnpkg

package.json安装yarn后的软件包,然后开始yarn test我收到了以下错误:

FAIL  src/Dashboard/AppBar/Tests/AppBar.test.js
  ● Test suite failed to run

    TypeError: environment.setup is not a function

      at node_modules/jest-runner/build/run_test.js:71:23

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.478s
Ran all test suites related to changed files.

当我使用npm i运行安装软件包时,请使用yarn test运行测试,测试将通过。

 PASS  src/Dashboard/AppBar/Tests/AppBar.test.js
  ✓ renders (92ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.452s, estimated 2s
Ran all test suites related to changed files.

Watch Usage: Press w to show more.  

当我使用yarnnpm安装我的软件包时,问题是,有什么不同。

package.json内容:

{
  "name": "sample",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "bs-axios": "^0.0.34",
    "material-ui": "^1.0.0-beta.41",
    "react": "^16.3.1",
    "react-dom": "^16.3.1",
    "react-scripts": "1.1.4",
    "reason-react": "^0.3.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "mlbuild": "bsb -make-world",
    "mlstart": "bsb -make-world -w",
    "mlclean": "bsb -clean-world"
  },
  "devDependencies": {
    "bs-platform": "^2.2.3",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "jest": "^22.4.3"
  }
}

1 个答案:

答案 0 :(得分:0)

试一试:

  

如果react-scripts中同时包含jestpackage.json,请从中删除jest。然后删除package-lock.jsonyarn.locknode_modules。然后运行npm install(或yarn如果您使用它。)

因此,如果您正在使用纱线,请运行yarn install而不是npm install,然后重试。

来自:https://github.com/facebook/jest/issues/5119