Azure Pipelinesを使用してデプロイしようとしているときにエラーが発生しています。
Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
_
私はそのBecuaseが段階間で共有されていないと思います。しかし、私はそれをするための適切な方法が何であるかを理解することができません。
これが私のyamlファイルです:
variables:
- group: netlify
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
stages:
- stage: Build
jobs:
- job: ARM
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
displayName: 'Install Node.js'
- script: |
npm install
npm run unit
displayName: 'Setup and test'
- script: npm run build
- publish: $(System.DefaultWorkingDirectory)
artifact: dist
- stage: Deploy
dependsOn: Build
condition: succeeded()
jobs:
- job: APP
steps:
- bash: |
npm i -g netlify-cli
netlify deploy --site $(NETLIFY_SITE_ID) --auth $(NETLIFY_AUTH_TOKEN) --prod
_
NPMインストールを実行した後、パッケージnode_modulesはディレクトリに何らかの表示されるべきですが、正しく共有されていないようです。
Ubuntu
imageを使用しており、グローバルインストールnetlify-cli
inLinux Sudo
なしでインストールします。
Ubuntu
が必要なシステムである必要がある場合は、このコマンドの前にSudo
を追加してください。
Sudo npm i -g netlify-cli
このDOCでは、 * NIX(OSX、Linuxなど :
デフォルトインストーラを使用してNodeをインストールした場合は、特にLinux、またはOS Xでこれらのコマンドをプレフィックスする必要があるかもしれません。
同じで [〜#〜] vsts [〜#〜] 、コマンドでSudo
を使用してUbuntu
のためのパスワードの少ない数sudo権限を持つ必要があります。
ビルド環境の特別な要件がない場合、もう1つの方法はvs2017-win2016
に画像を変更することです。
pool:
vmImage: 'vs2017-win2016'
このイメージを使用するときは、何もインストールでき、使用する必要はありませんSudo
。
実際、node.js
など、ホストされているすべてのイメージに多くの基本的なツールをプレインストールしました。
私たちの中で github説明 、私たちはすべての画像に対してプレインストールされたすべてのツールをリストしました。あなたはVSTSについてもっと知ることを確認することができます。