2016-07-08 50 views
10

我有一個aspnet核心1.0項目VS內鮑爾問題。我bower.json是這個鮑爾VS2015.3下載錯誤的版本

{ 
 
    "name": "asp.net", 
 
    "private": true, 
 
    "dependencies": { 
 
    "bootstrap": "3.3.6", 
 
    "jquery": "2.2.4", 
 
    "jquery-validation": "1.14.0", 
 
    "jquery-validation-unobtrusive": "3.2.6" 
 
    } 
 
}

但是,當我去那個涼亭下載庫我發現jQuery是V3.1.0

/*eslint-disable no-unused-vars*/ 
 
/*! 
 
* jQuery JavaScript Library v3.1.0 
 
* https://jquery.com/ 
 
* 
 
* Includes Sizzle.js 
 
* https://sizzlejs.com/ 
 
* 
 
* Copyright jQuery Foundation and other contributors 
 
* Released under the MIT license 
 
* https://jquery.org/license 
 
* 
 
* Date: 2016-07-07T21:44Z 
 
*/

我認爲這是我的機器,但它發生在三臺不同的機器上。難道我做錯了什麼??

編輯: 我試着用這樣的:

{ 
 
    "name": "asp.net", 
 
    "private": true, 
 
    "dependencies": { 
 
    "jquery": "~2.2.4" 
 
    }, 
 
    "resolutions": { 
 
    "jquery": "<=2.2.4" 
 
    } 
 
}

在bower.json配置的這隻包是jQuery和仍然安裝的jQuery 3.0.1。爲什麼涼亭這樣做? npm/bower的輸出窗口顯示:

PATH =。\ node_modules.bin; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Web \ External;%PATH%; C:\ Program Files (x86)\ Microsoft Visual Studio 14.0 \ Web \ External \ git 「C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Web \ External \ Bower.cmd」install --force-latest

bower jquery #〜2.2.4緩存https://github.com/jquery/jquery-dist.git#2.2.4

涼亭的jQuery#〜2.2.4驗證2.2.4對https://github.com/jquery/jquery-dist.git#~2.2.4

涼亭jQuery的超分辨率不必要的分辨率:jQuery的#< = 2.2.4

涼亭的jQuery#〜2.2.4中安裝jQuery 2.2.4#

的jQuery 2.2.4#的wwwroot \涼亭\ jQuery的

+0

你是否在正確的文件夾找?鮑爾可能會安裝到一個不同的文件夾比你想象的... –

+0

是的,我正在看正確的文件夾。我配置了一個不同的文件夾。我也嘗試過使用默認項目,它具有相同的行爲 – snekkke

+0

哦,我剛剛看到了一些......'--force-latest'被附加到你的bower命令中,所以它正是這樣做的。視覺工作室的某處可能會有這樣的設置。我沒有在我面前,但我會尋找工具>選項中的涼亭設置...可能在Web下,然後是關於包的東西。 –

回答

0

我有同樣的問題。修正它是刪除jquery包,添加然後手動添加到bower.json與正確的版本: 「jquery」:「2.2.4」, 希望這會幫助某人。

+1

它沒有爲我工作。我已經用ui手動嘗試過了,但是bower總是安裝最新版本。也發生在所有的軟件包上。儘管我在任何包上指定了版本,但bower會安裝最新版本。 – snekkke

6

我正面臨同樣的問題,並已成功解決它。 Visual Studio 2015附帶的涼亭存在問題,可能在Visual Studio更新之一中引入。你可以做什麼:

  1. 安裝的Git(依賴)
  2. 安裝的NodeJS
  3. 安裝涼亭
  4. 配置的Visual Studio選擇使用已安裝的NodeJS版本
  5. 刪除涼亭緩存文件夾%USERPROFILE% \應用程序數據\本地\亭子

參考: http://josharepoint.com/2016/05/04/how-to-configure-visual-studio-2015-integration-with-latest-version-of-node-js-and-npm/

2

另一個時間黑客,直到微軟修復該問題可能會改變內容bower.cmd從參數列表中刪除--force-latest字符串。

我的Visual Studio 2015.3安裝文件bower.cmd位於C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External

,就應該替換:

@"%~dp0\node" "%~dp0\node_modules\bower\bin\bower" %* 

有了:

ECHO OFF 
set params=%* 
ECHO %params% | %WINDIR%\system32\FIND "--force-latest" >nul & 
IF ERRORLEVEL 0 (call set params=%%params:--force-latest=%%%) 
@"%~dp0\node" "%~dp0\node_modules\bower\bin\bower" %params% 

上面這段代碼將檢查參數,如果--force-latest存在,將被移除,然後執行有明確的參數字符串亭子。

+0

這似乎不適用於我。腳本完美地移除了--force-latest參數,但Bower仍然只是獲得了jQuery 3.1.1(儘管它認爲它下載了2.2。3) – Jobbo

+0

@Jobbo檢查到隱藏文件「bower.json」(在你的項目根目錄)的「決議」部分,可能是引用jQuery 3.1.1作爲版本來解決衝突...(由舊的錯誤參數) –

+0

將修復程序應用到.cmd文件後,我也嘗試手動編輯bower.json。我完全刪除了「決議」部分,並將唯一的「依賴項」設置爲「jquery」:「2.2.3」,但Bower仍然獲得3.1.1。 --force-latest的描述是'強制衝突的最新版本',所以我不相信在這種情況下刪除它會產生變化 – Jobbo

0

這是一個GIT的包裝問題,這post是非常有益的解決這個問題: 安裝GIT for windows,改變了Visual Studio的外部Web工具 (工具 - >選項 - >項目和解決方案 - >外部Web工具)從「$ (VSINSTALLDIR)\ Web \ External \ git「複製到」C:\ program files \ git \ bin「 清除臨時文件並恢復涼亭。

現在一切正常。

0

我的解決方法有點冒失,就是從bower.json中刪除了顯式的jQuery版本,並且引導程序自己解決了這個依賴關係。

我bower.json看起來是這樣的:

{ 
    "name": "asp.net", 
    "private": true, 
    "dependencies": { 
    "bootstrap": "~3.3.6", 
    "font-awesome": "4.7.0" 
    } 
}