2017-10-20 55 views
0

我看過這個問題here,但它很舊,我嘗試了一切,沒有任何幫助。我有一個腳本,在vagrant完成安裝Ubuntu 17.04之後運行。在該腳本中,我執行sudo npm install --no-bin-links來安裝先前克隆的項目的依賴關係。這是package.json編號爲NPN的bin /文件夾

{ 
    "name": "project", 
    "version": "1.0.0", 
    "description": "Just a project", 
    "main": "server.js", 
    "author": "author", 
    "private": true, 
    "license": "ISC", 
    "dependencies": { 
    "async": "^2.5.0", 
    "bcrypt": "^1.0.3", 
    "body-parser": "^1.17.2", 
    "connect-redis": "^3.3.0", 
    "cors": "^2.8.4", 
    "dotenv": "^4.0.0", 
    "express": "^4.15.2", 
    "express-rate-limit": "^2.8.0", 
    "express-session": "^1.15.4", 
    "helmet": "^3.8.0", 
    "marked": "^0.3.6", 
    "multer": "^1.3.0", 
    "mv": "^2.1.1", 
    "mysql2": "^1.4.2", 
    "request": "^2.82.0", 
    "sequelize": "^4.13.2" 
    }, 
    "devDependencies": { 
    "chai": "^4.1.2", 
    "chai-http": "^3.0.0", 
    "mocha": "^4.0.1", 
    "sequelize-cli": "^3.0.0" 
    } 
} 

一切運作良好,除了需要一個.bin文件夾,像mochasequelize-cli的依賴關係。當我去我的項目node_modules,沒有.bin文件夾...

有人知道爲什麼嗎?

我運行:
的Ubuntu 17.04
節點8.7.0
NPM 5.4.2
的一切與流浪和Windows 10

+0

您是否嘗試在沒有'--no-bin-links'的情況下運行該命令。像這樣的東西:'sudo npm install' –

+0

我有符號鏈接錯誤,我不能使用符號鏈接,如果它在Windows之上流浪:/ – Wizix

回答

0

您應該通過sudo npm install安裝。 --no-bin-links選項將阻止npmadding symlinks.bin到每個已安裝軟件包中的實際二進制文件。 AFAIK,and according to this SO question,這隻適用於沒有符號鏈接的系統。

+0

沒有我有符號鏈接錯誤...通常,如果它[在Windows之上流浪我不能使用符號鏈接](https://github.com/npm/npm/issues/9901)我必須編寫'--no-bin-links' – Wizix

+0

即使你從他們自己的角色運行它們,它們也不行嗎?包?像'。/ node_modules/mocha/bin/mocha'? @Wizix –

+0

是的,它的作品。我發現這個問題,Windows需要管理員權限才能創建符號鏈接。我只需要運行管理員不受管理員! – Wizix