test: mocha попробуйте запустить команду cygwin на linux - PullRequest
0 голосов
/ 15 мая 2019

У меня есть проект maven, использующий maven-frontend-plugin для установки всех узлов (пакетов npm) и запуска всех тестов npm.Под linux сбой из-за команды cygwin.

Внутри pom определена конфигурация maven-frontend-plugin, и во время сборки возникает ошибка после установки npm и попытки запустить тест с mocha.

Если одинпопробуйте запустить тесты напрямую с Node, работающим в любой среде. При использовании "mvn clean package" он не работает на linux

под Windows, без каких-либо предыдущих работ по установке.

Inside pom

```xml
     <plugin>
        <groupId>com.github.eirslett</groupId>
        <artifactId>frontend-maven-plugin</artifactId>
        <version>${frontend-maven-plugin.version}</version>
        <executions>
          <!-- Install Node and npm -->
          <execution>
    <id>install-node-npm</id>
            <goals><goal>install-node-and-npm</goal></goals>
            <configuration>
              <nodeVersion>${frontend-maven-plugin.node.version}</nodeVersion>
              <npmVersion>${frontend-maven-plugin.npm.version}</npmVersion>
            </configuration>
          </execution>
          <!-- Install npm modules -->
          <execution>
            <id>npm-install-modules</id>
            <goals>
              <goal>npm</goal>
            </goals>
          </execution>
          <!-- lint && mocha && nyc coverage -->
          <execution>
            <id>npm run-script lint</id>
            <phase>test</phase>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>run-script lint</arguments>
            </configuration>
          </execution>
          <execution>
            <id>npm run-script test:coverage</id>
            <phase>test</phase>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>run-script test:coverage</arguments>
            </configuration>
          </execution>
          <!-- build angular application -->
          <execution>
            <id>npm run-script prod</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>run-script prod</arguments>
            </configuration>
          </execution>
        </executions>
```

Inisde package.json

```json
scripts:{
   ...
   "test:coverage": "nyc npm run-script test:mocha || exit 0",
   ...
}
```

Ошибка Linux:

nyc npm run-script test:mocha

ERROR : <base_path>/node/npm:2
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix


SyntaxError: Unexpected identifier
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:657:28)
    at Module.replacementCompile (node_modules/append-transform/index.js:58:13)
    at Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Object.<anonymous> (node_modules/append-transform/index.js:62:4)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)

решено При использовании последней версии проблемы исчезают в Ubuntu <frontend-maven-plugin.version>1.7.6</frontend-maven-plugin.version>

Использование модуля Kubernetes с установленным maven без какого-либо узла предыдущая установка все еще не работает. Обратите внимание, что он работает для всех других проектов без nyc и mocha .

Я все еще ищу, чего не хватает

1 Ответ

0 голосов
/ 23 мая 2019

Проблема внутри капсулы Kubernetes связана с путем.

Установите правильное значение NODE_PATH в качестве переменной среды, процесс работает так хорошо

...