我的构建在CircleCI上总是失败,错误如下:
EXDEV: cross-device link not permitted, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'这是在安装任何库之前发生的。有没有人遇到过这个问题?
发布于 2020-10-28 22:37:38
在我的例子中,出现这种情况和其他一些错误的原因是node 15的发布,以及它在FROM node:alpine ->降级到FROM node:14.14.0-alpine中的使用效果很好
发布于 2020-11-05 01:58:04
正如其他人提到的那样,这似乎与使用Node 15有关。在我的例子中,我使用的是.Circle this /config.yml中最新的Node docker镜像:
jobs:
build:
docker:
- image: circleci/node:latest到目前为止,其他答案都建议对特定的节点版本进行硬编码,但我通常对硬编码持谨慎态度。作为替代方案,我决定使用Node的最新LTS版本:
- image: circleci/node:lts这解决了这个问题,我认为这可能更好,因为它应该给我一个更稳定的版本来测试前进。
发布于 2020-10-29 23:11:13
在尝试使用以下命令更新npm时也遇到了同样的问题
npm install -g npm@latest我决定使用Node版本管理器,这样我就可以根据需要设置节点版本,这也是我唯一可以使用的解决方案。
我的配置如下所示:
version: 2.1
jobs:
build:
docker:
- image: 'circleci/node:latest'
environment:
NODE_VERSION: v12.18.1
steps:
- checkout
- run:
name: set node version
command: |
set +e
touch $BASH_ENV
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.36.0/install.sh | bash
echo 'export NVM_DIR="$HOME/.nvm"' >> $BASH_ENV
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV
echo 'nvm install $NODE_VERSION' >> $BASH_ENV
echo 'nvm alias default $NODE_VERSION' >> $BASH_ENV
- run:
name: npm install project dependencies
command:
npm install
- run:
name: lint
command:
npm run linthttps://stackoverflow.com/questions/64543012
复制相似问题