[英]Access rights for node_modules folder at MacOS/Linux and Windows
我正在Mac機上開發一些nodeJS應用程序。 出於測試目的,我使用Parallels來獲取虛擬Windows機器(win 10)。
如果我在Mac上為某個項目運行npm install
,則無法在Windows計算機上運行該項目,因為我收到了node_modules文件夾的access denied
錯誤。
所以我刪除了在Windows機器上運行npm install
的文件夾。 這樣我就可以運行該應用程序了。 但是然后在我的Mac機器上,我確實得到了sh: /Users/project/node_modules/.bin/nodemon: Permission denied
。
如何設置對node_modules目錄的正確訪問權限,以使該應用程序在兩個OS上運行?
這是因為在macOS中編譯的二進制文件(.bin)不一定也必須與Windows一起使用。 對於您的方案,請使用YARN。 因為YARN提供離線安裝。
參考鏈接 : https : //yarnpkg.com/blog/2016/11/24/offline-mirror/
在任何一個系統中安裝YARN。
npm install yarn
yarn
完成后,通過執行以下命令(對於Windows和macOS都相同)來創建.yarnrc
文件。
yarn config set yarn-offline-mirror ./npm-packages-offline-cache
yarn config set yarn-offline-mirror-pruning true
將在您的主目錄中創建一個.yarnrc
文件( macOS => ~/.yarnrc || windows => C:\\{user}\\.yarnrc
)。
將該文件移到您的項目中,使其僅針對您的項目。
現在執行一個yarn install
-> node_modules
文件夾中的node_modules
和一個yarn.lock
文件。 還要注意,在主目錄中的文件夾npm-packages-offline-cache
您將具有tarball格式的所有依賴項。
您要做的就是將這個tarball目錄和yarn.lock提交到這兩個環境通用的存儲庫中,通過重復相同的1-5步驟在其他環境中設置yarn。
最后運行yarn install -offline,您將加載依賴項。
長話短說! 您不能只復制粘貼node_modules並使它在Windows和Unix之間工作。
希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.