由于我有一个用于节点js的docker镜像,并且想要安装全局node_modules目录以及本地使用卷e。我的docker-compose文件的一部分如下所示。
...
node:
image: node
volumes:
- ./webroot:/var/app
- ./global_node_modules:/var/node_global
environment:
- NPM_CONFIG_PREFIX=/var/node_global
- YARN_CONFIG_PREFIX=/var/node_global
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/node_global/bin
working_dir: /var/app
stdin_open: true
tty: true
我有./global_node_modules
目录,该目录映射到节点容器/var/node_global
上的卷,我想在其中安装全局包
当我运行npm --global
或yarn global add
时。 npm尊重env变量NPM_CONFIG_PREFIX
,但纱线不是这样。例如
npm install vue-cli --global
之后
ls -al / var / node_global / bin
vue - > ../ LIB / node_modules / VUE-CLI / bin中/ VUE
vue-init - > ../lib/node_modules/vue-cli/bin/vue-init
vue-list - > ../ LIB / node_modules / VUE-CLI / bin中/ VUE列表
yarn global add vue-cli
之后
ls -al / var / node_global / bin
vue - > ../../../ USR /本地/共享/的.config /纱线/全局/ node_modules / VUE-CLI / bin中/ VUE
vue-init - > ../../../ USR /本地/共享/的.config /纱线/全局/ node_modules / VUE-CLI / bin中/ VUE-INIT
vue-list - > ../../../ USR /本地/共享/的.config /纱线/全局/ node_modules / VUE-CLI / bin中/ VUE列表
我想知道是什么让纱线安装文件在不同的目录中。它似乎是连接二进制文件,但这还不够。