SyntaxError:使用管道 yml

如何解决SyntaxError:使用管道 yml

我正在尝试使用 .yml 脚本通过 bitbucket-pipeline 将我的项目部署到服务器。该项目有一个带有 PHP 7.4 的 laravel 后端和一个 Vue Js 前端。使用 Yarn Run 构建前端时会出现问题。构建过程正在我的同事和我的本地机器上使用完全相同的 yarn.lock 和 package.json,但不在管道中。本地我们也有相同的 node 和 yarn/npm 版本。

这是我们的管道脚本:

    image:
    name: atlassian/default-image:2
definitions:
    steps:
        - step: &laravel-deploy
              name: Laravel Deployment
              caches:
                  - composer
              image: php:7.4.12-fpm
              script:
                  - mkdir -p "$REMOTE_PATH/$BITBUCKET_BUILD_NUMBER"
                  - export ROOT_DIR=$(pwd)
                  - mv * $REMOTE_PATH/$BITBUCKET_BUILD_NUMBER
                  - cd $REMOTE_PATH/$BITBUCKET_BUILD_NUMBER
                  - echo "install dependencies"
                  - echo "install Stuff"
                  - apt-get update && apt-get install -y unzip && apt-get install -y git && apt install -y openssh-client
                  - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=1.10.13
                  - if [ -z "$YARN_RUN" ]; then
                  - else
                  - apt-get update && apt-get install -y npm
                  - npm config set "@fortawesome:registry" https://npm.fontawesome.com/ && npm config set "//npm.fontawesome.com/:_authToken" $FA_TOKEN
                  - npm install --global yarn
                  - yarn install
                  - yarn run $YARN_RUN
                  - fi
                  - echo "build application"
                  - mkdir -p ~/.ssh
                  - echo $SSH_KEY > ~/.ssh/id_rsa.tmp # note: assumes base64 encoded ssh key without a passphrase
                  - base64 -d ~/.ssh/id_rsa.tmp > ~/.ssh/id_rsa
                  - chmod 600 ~/.ssh/id_rsa
                  - base64 ~/.ssh/id_rsa
                  - eval `ssh-agent -s`
                  - ssh-add ~/.ssh/id_rsa
                  - composer install $COMPOSER_OPTIONS
                  - php artisan config:cache
                  - if [ $OP_CAHCE -eq 1 ]; then
                  - php  artisan opcache:clear && php artisan opcache:compile --force
                  - fi
                  - mv -t $ROOT_DIR app artisan bootstrap config  public  resources routes storage vendor database
                  - cd $ROOT_DIR
                  - pipe: atlassian/ssh-run:0.2.3
                    variables:
                        SSH_USER: $SSH_USER
                        SERVER: $SSH_HOST
                        COMMAND: "rm -rf $REMOTE_PATH/$BITBUCKET_BUILD_NUMBER"
                  - echo "deploy to server"
                  - pipe: atlassian/rsync-deploy:0.4.0
                    variables:
                        USER: $SSH_USER
                        SERVER: $SSH_HOST
                        REMOTE_PATH: "$REMOTE_PATH/$BITBUCKET_BUILD_NUMBER"
                        LOCAL_PATH: "."
                        EXTRA_ARGS: --exclude='.*'
                  - echo "linking resources"
                  - pipe: atlassian/ssh-run:0.2.3
                    variables:
                        SSH_USER: $SSH_USER
                        SERVER: $SSH_HOST
                        COMMAND: "cd ${REMOTE_PATH} && rm -rf current &&  ls -tp | tail -n +6 | xargs rm -rf && ln -s \\$(ls -tr | tail -n1 | xargs -0 realpath) current"


pipelines:
    default:
        - step:
              name: Analyze code
              script:
                  - pipe: sonarsource/sonarcloud-scan:1.1.0
    custom:
        deploy-to-testing:
            - step:
                  <<: *laravel-deploy
                  deployment: testing
    branches:
        staging:
            - step:
                  <<: *laravel-deploy
                  deployment: staging
        master:
            - step:
                  <<: *laravel-deploy
                  deployment: production

在步骤中发生以下错误:- yarn run $YARN_RUN。 这是错误消息的一部分,它总是 SyntaxError: Unexpected token :

+ yarn run $YARN_RUN
yarn run v1.22.10
$ cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js -no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
ERROR  Failed to compile with 58 errors8:13:28 AM

 error  in ./resources/assets/js/services/api/user.api.js

Syntax Error: Unexpected token (8:13)

   6 | export default class UserApi {
   7 |   
>  8 |   static url = "/users";
     |              ^
   9 | 
  10 |   /**
  11 |    * Get the user with ID.



 @ ./resources/assets/js/app.js 16:0-46
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/services/api/policy.api.js

Syntax Error: Unexpected token (9:13)

   7 |  */
   8 | export default class PolicyApi {
>  9 |   static url = "/policies";
     |              ^
  10 | 
  11 |   /**
  12 |    * Get the policy by given ID.



 @ ./node_modules/babel-loader/lib?{"cacheDirectory":true,"presets":[["env",{"modules":false,"targets":{"browsers":["> 2%"],"uglify":true}}]],"plugins":["transform-object-rest-spread",["transform-runtime",{"polyfill":false,"helpers":false}]]}!./resources/assets/js/pages/Lead/LeadsProvision/components/CommissionPaymentDateComponent/index.js 4:0-63
 @ ./resources/assets/js/pages/Lead/LeadsProvision/components/CommissionPaymentDateComponent/CommissionPaymentDateComponent.vue
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/services/api/customer.api.js

Syntax Error: Unexpected token (9:15)

   7 |  */
   8 | export default class CustomerApi {
>  9 |     static url = "/customers";
     |                ^
  10 | 
  11 |     /**
  12 |      * Get the customer by given ID.



 @ ./node_modules/babel-loader/lib?{"cacheDirectory":true,"helpers":false}]]}!./resources/assets/js/pages/Lead/LeadOverview/components/LeadActionComponent/index.js 3:0-67
 @ ./resources/assets/js/pages/Lead/LeadOverview/components/LeadActionComponent/LeadActionComponent.vue
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/services/api/lead.api.js

Syntax Error: Unexpected token (9:15)

   7 |  */
   8 | export default class LeadApi {
>  9 |     static url = "/leads";
     |                ^
  10 | 
  11 |     /**
  12 |      * Store a new customer for the lead.



 @ ./node_modules/babel-loader/lib?{"cacheDirectory":true,"helpers":false}]]}!./resources/assets/js/pages/Lead/LeadsProvision/components/PoliceLeadPaymentDateComponent/index.js 5:0-59
 @ ./resources/assets/js/pages/Lead/LeadsProvision/components/PoliceLeadPaymentDateComponent/PoliceLeadPaymentDateComponent.vue
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/components/SidebarComponent/index.js

Syntax Error: Unexpected token,expected,(10:27)

   8 |   computed: {
   9 |     ...mapState({
> 10 |       sidebarActive: (state: any) => state.sidebar.sidebarActive,|                            ^
  11 |     }),12 |   },13 |   methods: {



 @ ./resources/assets/js/components/SidebarComponent/SidebarComponent.vue 8:21-291
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/validators/currency-validator.js

Syntax Error: Unexpected token,(11:32)

   9 |  * @returns {boolean}
  10 |  */
> 11 | const currencyValidator = (value: string) => {
     |                                 ^
  12 | 
  13 |   if (value || value === 0) {
  14 |     return (/^([0-9])+(,[0-9]{1,2})?$/).test(value);



 @ ./resources/assets/js/validators/index.js 11:0-53
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/validators/negative-currency-validator.js

Syntax Error: Unexpected token,(11:40)

   9 |  * @returns {boolean}
  10 |  */
> 11 | const negativeCurrencyValidator = (value: string) => {
     |                                         ^
  12 | 
  13 |   if (value || value === 0) {
  14 |     return (/^-?([.0-9])+(,2})?$/).test(value);



 @ ./resources/assets/js/validators/index.js 12:0-70
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/filters/pretty-bytes-filter.js

Syntax Error: Unexpected token,(11:45)

   9 |  * @returns {string}
  10 |  */
> 11 | export default function prettyBytesFilter(num: number) {
     |                                              ^
  12 |   if (typeof num !== 'number' || Number.isNaN(num)) {
  13 |     throw new TypeError(`Expected a number got ${typeof(num)}`);
  14 |   }



 @ ./resources/assets/js/filters/index.js 5:0-54
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/store/modules/customer-histories.js

Syntax Error: Unexpected token,(12:30)

  10 |   },11 |   mutations: {
> 12 |     setCustomerHistory: (state: any,customerHistory: any) => {
     |                               ^
  13 |       state.customerHistory = customerHistory;
  14 |     },15 |     setCustomerHistories: (state: any,customerHistories: any) => {



 @ ./resources/assets/js/store/index.js 9:0-61
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/validators/insurer-validator.js

Syntax Error: Unexpected token,(12:31)

  10 |  * @returns {boolean}
  11 |  */
> 12 | const insurerValidator = (value: any) => {
     |                                ^
  13 | 
  14 |   if (value) {
  15 |     return value.id !== null && value.id !== '';



 @ ./resources/assets/js/validators/index.js 13:0-51
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/validators/insurance-type-validator.js

Syntax Error: Unexpected token,(12:35)

  10 |  * @returns {boolean}
  11 |  */
> 12 | const insurerTypeValidator = (value: any) => {
     |                                    ^
  13 | 
  14 |   if (value) {
  15 |     return value.id !== null && value.id !== '';



 @ ./resources/assets/js/validators/index.js 14:0-62
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/filters/concat-filter.js

Syntax Error: Unexpected token,(12:42)

  10 |  * @returns {string}
  11 |  */
> 12 | export default function concatFilter(value: string,...args: Array<string>) {
     |                                           ^
  13 |   if (args.length === 0) {
  14 |     return value;
  15 |   }



 @ ./resources/assets/js/filters/index.js 7:0-43
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/filters/concat-list-filter.js

Syntax Error: Unexpected token,(12:54)

  10 |  * @returns {string}
  11 |  */
> 12 | export default function concatListFilter(listOfStrings: string[],delimiter = ',') {
     |                                                       ^
  13 |   if (!Array.isArray(listOfStrings) || listOfStrings.length === 0) {
  14 |     return '';
  15 |   }



 @ ./resources/assets/js/filters/index.js 8:0-52
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/store/modules/user.js

Syntax Error: Unexpected token,(13:20)

  11 |   },12 |   mutations: {
> 13 |     SET_USER: (state: any,newUser: any) => {
     |                     ^
  14 |       state.user = newUser;
  15 |     },16 |   },@ ./resources/assets/js/store/index.js 6:0-34
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/store/modules/policies.js

Syntax Error: Unexpected token,(13:21)

  11 |   },12 |   mutations: {
> 13 |     setPolicy: (state: any,policy: Policy) => {
     |                      ^
  14 |       state.policy = policy;
  15 |     },16 |     setEditMode: (state: any,editMode: boolean) => {



 @ ./resources/assets/js/store/index.js 8:0-42
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/store/modules/customers.js

Syntax Error: Unexpected token,(13:24)

  11 |   getters: {},12 |   mutations: {
> 13 |     setCustomers: (state: any,payload: any) => {
     |                         ^
  14 |       state.customers = payload.data.data;
  15 |     },16 |     setCustomer: (state: any,payload: any) => {



 @ ./resources/assets/js/store/index.js 7:0-44
 @ ./resources/assets/js/app.js
 @ multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

 error  in ./resources/assets/js/validators/zip-validator.js

Syntax Error: Unexpected token,(13:27)

  11 |  * @returns {boolean}
  12 |  */
> 13 | const zipValidator = (value: string) => {
     |                            ^
  14 |   const pattern = XRegExp('^[0-9]{5}$');
  15 |   return pattern.test(value);
  16 | };

这是我们的 package.json:

{
  "private": true,"version": "0.0.1","name": "acm","scripts": {
    "dev": "npm run development","development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","watch-poll": "npm run watch -- --watch-poll","cypress:open": "cypress open","cypress:run": "cypress run","hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js","prod": "npm run production","production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js","docs:generate": "node_modules/.bin/jsdoc resources/assets/js/ -c jsdoc.conf.json -t node_modules/docdash -r -d docs","unit": "cross-env NODE_ENV=testing karma start --code-coverage"
  },"dependencies": {
    "@fortawesome/fontawesome-free": "^5.4.0","@fortawesome/fontawesome-pro": "^5.4.0","@fortawesome/fontawesome-svg-core": "^1.2.6","@fortawesome/free-brands-svg-icons": "^5.4.0","@fortawesome/pro-light-svg-icons": "^5.4.0","@fortawesome/pro-regular-svg-icons": "^5.4.0","@fortawesome/pro-solid-svg-icons": "^5.4.0","@fortawesome/vue-fontawesome": "0.1.1","axios": "^0.18","bootstrap": "^4.0.0","bootstrap-vue": "^2.0.0-rc.9","lodash": "^4.17.4","moment": "^2.22.2","node-sass": "^4.11.0","password-generator": "^2.2.0","raven-js": "^3.26.4","sass-loader": "^7.1.0","vee-validate": "2.0.9","vue": "^2.5.13","vue-clickaway": "^2.2.2","vue-context": "^3.2.0","vue-moment": "^3.1.0","vue-multiselect": "2.0.3","vue-perfect-scrollbar": "^0.1.0","vue-router": "^3.0.1","vue-simple-spinner": "^1.2.8","vue2-datepicker": "^2.0.4","vue2-filters": "^0.3.0","vuetable-2": "^1.7.2","vuex": "^3.0.1","xregexp": "^4.2.0"
  },"devDependencies": {
    "@vue/test-utils": "^1.0.0-beta.25","axios-mock-adapter": "^1.15.0","babel-eslint": "^8.2.3","babel-plugin-syntax-flow": "^6.18.0","babel-plugin-transform-class-properties": "^6.24.1","babel-plugin-transform-flow-strip-types": "^6.22.0","babel-plugin-transform-runtime": "^6.23.0","babel-preset-env": "^1.7.0","babel-preset-es2015": "^6.24.1","babel-preset-stage-2": "^6.24.1","cross-env": "^5.1","cypress": "3.1.0","docdash": "^0.4.0","eslint": "^4.19.1","eslint-config-airbnb-base": "^13.0.0","eslint-plugin-cypress": "^2.0.1","eslint-plugin-flowtype-errors": "^3.6.0","eslint-plugin-html": "^4.0.3","eslint-plugin-import": "^2.13.0","eslint-plugin-vue": "^4.5.0","flow-bin": "^0.73.0","jasmine-core": "^3.1.0","jsdoc": "3.5.5","jsdoc-babel": "^0.4.0","karma": "^2.0.2","karma-babel-preprocessor": "^7.0.0","karma-chrome-launcher": "^2.2.0","karma-coverage-istanbul-reporter": "^2.0.1","karma-firefox-launcher": "^1.1.0","karma-jasmine": "^1.1.2","karma-jasmine-html-reporter": "^1.1.0","karma-phantomjs-launcher": "^1.0.4","karma-spec-reporter": "^0.0.32","karma-webpack": "^3.0.0","laravel-mix": "^2.0","vue-template-compiler": "^2.5.13","webpack-livereload-plugin": "^1.0.0"
  }
}

我们尝试了许多解决方案,例如更新 babel 包、编辑 babelrc 文件或尝试使用不同的包管理器安装包。但到目前为止没有任何效果。

解决方法

对于任何有同样问题的人,我们找到了答案。问题是以下命令:

- mv * $REMOTE_PATH/$BITBUCKET_BUILD_NUMBER

mv 移动所有不以 . 开头的文件。因为 babelrc 文件以 . 开头,所以它没有被移动。没有这个文件,插件无法加载,编译失败。我们将命令更改为:

mv * .babelrc $REMOTE_PATH/$BITBUCKET_BUILD_NUMBER

一切正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-