Я не уверен, что вы имели в виду именно это, но я остановился на этом вопросе, потому что мне не удалось установить node_modules
внутри моего каталога проекта, поскольку он был смонтирован в файловой системе, которая не поддерживала символические ссылки («общая» папка виртуальной машины ).
Я нашел следующее обходное решение:
- Скопируйте
package.json
файл во временную папку в другой файловой системе
- Беги
npm install
туда
- Скопируйте полученный
node_modules
каталог обратно в каталог проекта, используя cp -r --dereference
для преобразования символических ссылок в копии.
Я надеюсь, что это поможет кому-то еще, кто столкнется с этим вопросом при поиске способа перехода node_modules
на другую файловую систему.
Другие варианты
Существует еще один обходной путь, который я нашел по этому вопросу GitHub , что @Charminbear связанного с , но это не работает с , grunt
потому что он не поддерживает , NODE_PATH
как на https://github.com/browserify/resolve/issues/136 :
Допустим, у вас есть /media/sf_shared
и вы не можете установить туда символические ссылки, что означает, что вы не можете установить npm,
/media/sf_shared/myproject
потому что некоторые модули используют символические ссылки.
$ mkdir /home/dan/myproject && cd /home/dan/myproject
$ ln -s /media/sf_shared/myproject/package.json
(вы можете использовать символическую ссылку в этом направлении, просто не можете создать ее внутри / media / sf_shared)
$ npm install
$ cd /media/sf_shared/myproject
$ NODE_PATH=/home/dan/myproject/node_modules node index.js