疑難排 AWS Cloud9 - AWS Cloud9

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

疑難排 AWS Cloud9

使用下列資訊來識別和解決與的問題 AWS Cloud9。

如果您的問題未列於其中,或者,如果您需要額外協助,請參閱 AWS Cloud9 開發論壇。當您進入此論壇時,您可能需要登入。您也可以直接聯絡我們

Installer (安裝程式)

下節概述了與 AWS Cloud9 安裝程式相關的疑難排解問題。

AWS Cloud9 安裝程式掛起或失敗

問題:當您下載並執行 AWS Cloud9 安裝程式時,會發生一或多個錯誤,且不會顯示安裝程式指令碼Done

原因: AWS Cloud9 安裝程序遇到一個或多個無法恢復的錯誤,因此失敗。

解決方案:如需詳細資訊,請參閱 AWS Cloud9 安裝程式疑難排解。請參閱所提供的常見問題、可能的原因,以及建議解決方案。

AWS Cloud9 安裝程序在顯示後未完成:「Package Cloud9 IDE 1」

問題:安裝 AWS Cloud9 在您現有的 Amazon EC2 執行個體或您自己的伺服器上,做為建立 SSH 開發環境程序的一部分。當您在 AWS Cloud9 安裝程式對話方塊上看到此訊息:「套件 Cloud9 IDE 1」後,安裝程式呈現暫停狀態。如果您選擇 Cancel (取消),您會看到下列訊息:「安裝失敗。」 無法在客戶的 SSH 主機上安裝 AWS Cloud9 套件時,就會發生這個錯誤。

原因:SSH 主機需要您已安裝 Node.js。建議您安裝主機作業系統支援的最新Node.js版本。如果您的主機Node.js上有 AWS Cloud9 不支援的版本,可能會發生安裝錯誤。

建議的解決方案:安裝在安全殼層主機上 AWS Cloud9 支援的 Node.js 版本。

安裝相依性失敗

問題: AWS Cloud9 需要互聯網訪問才能下載依賴關係。

可能原因:

  • 如果您的 AWS Cloud9 環境使用 Proxy 來存取網際網路,則 AWS Cloud9 需要 Proxy 詳細資料才能安裝相依性。如果您未提供 Proxy 詳細資料給 AWS Cloud9,就會出現此錯誤。

  • 造成這種情況的另一個原因可能是如果您的環境不允許輸出流量。

建議解決方案:

  • 要提供您的代理詳細信息 AWS Cloud9,請將以下代碼附加到您的環境~/.bashrc文件中:

    export http_proxy=[proxy url for http] export https_proxy=[proxy url for https] #Certificate Authority used by your proxy export NODE_EXTRA_CA_CERTS=[path_to_pem_certificate]

    例如,如果您的 HTTP 代理 URL 是,https://172.31.26.80:3128而您的 HTTP 代理 URL 是https://172.31.26.80:3129,請將以下幾行新增至您的~/.bashrc檔案,並設定NODE_EXTRA_CA_CERTS為 PEM 格式的憑證授權單位檔案路徑。如需此變數的詳細資訊,請參閱https://nodejs.org/api/cli.html#node_extra_ca_certsfile

    export http_proxy=http://172.31.26.80:3128 export https_proxy=https://172.31.26.80:3129 export NODE_EXTRA_CA_CERTS=[path_to_pem_certificate]
  • 如果您使用的是無輸入的 Amazon EC2 執行個體,則必須確保已設定適用於 Amazon S3 的 Amazon VPC 端點。如需詳細資訊,請參閱針對 Amazon S3 下載相依性設定 Amazon VPC 端點

SSH 環境錯誤:Python 安裝 pty.js 需要三版本」

問題:開啟安 AWS Cloud9 全殼層開發環境之後, AWS Cloud9 IDE 中的終端機會顯示以「安裝 pty.js 時需要 Python 版本 3」開頭的訊息。

原因:要按預期工作,SSH 環境需要安裝 Python 版本 3。

解決方案:在環境中安裝 Python 版本 3。若要檢查您的版本,請從伺服器的終端機執行 python --version 命令。若要在您的伺服器上安裝 Python 3,請參閱下列其中一項:

AWS Cloud9 環境

下節概述了與 AWS Cloud9 環境相關的疑難排解問題。

環境建立錯誤:「我們無法建立 EC2 執行個體...」

問題:當您嘗試建立 AWS Cloud9 開發環境時,會出現一則訊息,其中包含「我們無法在帳戶驗證和啟用期間在您的帳戶中建立 EC2 執行個體」。

原因:目前 AWS 正在驗證並激活您的 AWS 帳戶. 啟用完成前 (最多可能需要 24 小時),您都無法建立這個執行個體或其他環境。

解決方案: 嘗試稍候重新建立環境。如果您在 24 小時後仍然收到此訊息,請聯絡支援部門。此外,請務必了解,即使嘗試建立環境失敗, AWS CloudFormation 仍會在您的帳戶中建立相關的堆疊。這些堆疊會計入您帳戶的堆疊建立配額中。為了避免耗盡堆疊建立配額,您可以刪除這些失敗的堆疊。如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的刪除 AWS CloudFormation 主控台的堆疊

環境建立錯誤:「未授權執行 sts:AssumeRole」

問題:當您嘗試建立新環境時,您會看到此錯誤:「未授權執行 sts:」AssumeRole,且未建立環境。

可能的原因: AWS Cloud9 服務連結角色不存在於您的 AWS 帳戶.

議的解決方案:在您的 AWS 帳戶. AWS Cloud9 您可以在 AWS Command Line Interface (AWS CLI) 或 AWS CloudShell中執行下列命令,即可執行這項操作。

aws iam create-service-linked-role --aws-service-name cloud9.amazonaws.com # For the AWS CLI. iam create-service-linked-role --aws-service-name cloud9.amazonaws.com # For the aws-shell.

如果您無法這麼做,請洽詢您的 AWS 帳戶 系統管理員。

執行上述命令後,再次嘗試建立環境。

聯合身分無法建立環境

問題:當您嘗試使用 AWS 聯合身分來建立 AWS Cloud9 開發環境時,會顯示存取錯誤訊息,且不會建立環境。

原因:: AWS Cloud9 使用服務連結角色。在帳戶中使用 iam:CreateServiceLinkedRole 呼叫首次建立環境後,服務連結角色會隨之建立。不過,聯合身分使用者無法呼叫 IAM API。如需詳細資訊,請參閱 AWS Security Token Service API 參考GetFederationToken中的。

解決方案:要求 AWS 帳戶 管理員在 IAM 主控台中建立服務連結角色,或使用 AWS Command Line Interface (AWS CLI) 執行此命令: AWS Cloud9

aws iam create-service-linked-role --aws-service-name cloud9.amazonaws.com

或者使用 AWS-shell 的這個命令:

iam create-service-linked-role --aws-service-name cloud9.amazonaws.com

如需詳細資訊,請參閱IAM 使用者指南中的使用服務連結角色

主控台錯誤:「User is not authorized to perform action on resource」(使用者未獲授權對資源執行動作)

問題:當您嘗試使用 AWS Cloud9 主控台來建立或管理 AWS Cloud9 開發環境時,您會看到錯誤訊息,其中包含類似「使用者arn:aws:iam::123456789012:user/MyUser未獲授權cloud9:action在資源上執行」arn:aws:cloud9:us-east-2:123456789012:environment:12a34567b8cd9012345ef67abcd890e1,其中:

  • arn:aws:iam::123456789012:user/MyUser 是發出請求之使用者的 Amazon Resource Name (ARN)。

  • action 是接收請求之使用者的操作名稱。

  • arn:aws:cloud9:us-east-2:123456789012:environment:12a34567b8cd9012345ef67abcd890e1 是使用者請求執行操作的環境的 ARN。

原因:您使用 AWS Cloud9 控制台登錄的用戶沒有正確的 AWS 訪問權限來執行操作。

解決方案:確認使用者具備正確的 AWS 存取許可,然後再次嘗試執行該動作。如需詳細資訊,請參閱下列內容:

無法連線到環境

問題:使用者無法連接到環境,停滯在「連接」階段。

原因:如果您更改文件的權限,從該~/ .ssh/authorized_keys文件中刪除 AWS Cloud9 密鑰或完全刪除文件,則可能會發生此問題。

解決方案:不要刪除此檔案。如果您刪除它,就必須重新建立您的環境,並且可能需要將現有環境的 EBS 磁碟區連接到新的 EC2 環境。這是為了擷取遺失的資料。如果缺少許可,請確保檔案具有 Read-Write 許可。這是為了允許 SSH 常駐程式讀取它。

無法開啟環境

問題:當您嘗試開啟環境時,IDE 超過五分鐘還未顯示。

可能原因:

  • 登入 AWS Cloud9 主控台的 IAM 使用者沒有開啟環境所需的 AWS 存取權限。

  • 如果環境與 AWS 雲端運算執行個體 (例如 Amazon EC2 執行個體) 相關聯,則可能為真:

    • 與執行個體相關聯的 VPC 未設定為的正確設定 AWS Cloud9。

    • 執行個體正在狀態之間轉換,或在嘗試連線至執行個體時 AWS Cloud9 失敗自動狀態檢查。

  • 如果環境是 SSH 環境,則關聯的雲端運算執行個體或您自己的伺服器無法正確設定 AWS Cloud9 以允許存取。

建議解決方案:

無法開啟 AWS Cloud9 環境:「共同作業者目前無法存取此環境。Please wait until the removal of managed temporary credentials is complete, or contact the owner of this environment.」(此環境目前無法供協作者存取。請等候受管臨時憑證的移除作業完成,或連絡此環境的擁有者。)

問題:如果新的共同作業者是由非環境擁有者的使用者新增至環境,則會停用 AWS 受管理的臨時登入資料。憑證會因您刪除 ~/.aws/credentials 檔案而停用。刪除~/.aws/credentials檔案時,新的共同作業人員無法存取 AWS Cloud9 環境。

原因:在 AWS 受管臨時憑證刪除過程中防止環境遭存取是一種安全性措施。這樣可讓環境擁有者確認只有受信任的協作者才能存取受管憑證。如果環境擁有者認為協作者名單沒有問題,就可以重新啟用受管憑證,讓憑證可以共用。如需詳細資訊,請參閱 控制 AWS 受管臨時憑證的存取權

建議的解決方案:等待~/.aws/credentials檔案完全刪除,然後再次嘗試開啟 AWS Cloud9 環境。憑證到期的最長等待時間為 15 分鐘。或者,請要求環境擁有者重新啟用或停用受管臨時憑證。重新啟用或停用憑證之後,協作者就可以立即存取環境。透過將受管憑證的狀態切換為 ENABLED 或 DISABLED,環境擁有者就可確保憑證不會保留在中繼狀態。中繼統計資料可以防止協作者存取環境。

注意

假設環境擁有者和協同合作者屬於同一個 AWS 帳戶。然後,協作者可以在主控台的 Your environments (您的環境) 頁面查看環境卡片,藉此找到要聯絡的環境擁有者。環境擁有者也會列在 Environment details (環境詳細資訊) 頁面上。

環境刪除錯誤:「One or more environments failed to delete」(無法刪除一或多個環境)

問題:當您嘗試刪除 AWS Cloud9 主控台中的一或多個環境時,會顯示一則訊息,顯示「一或多個環境無法刪除」,而且至少有一個環境未刪除。

可 AWS CloudFormation 能的原因:刪除一或多個環境時可能發生問題。 AWS Cloud9 依賴 AWS CloudFormation 於創建和刪除環境。

建議的解決方案:嘗 AWS CloudFormation 試使用刪除每個未刪除的環境。

  1. 請在以下位置開啟 AWS CloudFormation 主控台。 https://console.aws.amazon.com/cloudformation

  2. 在 AWS 導覽列上,選 AWS 區域 擇環境的。

  3. 在堆 AWS CloudFormation 疊清單中,選取堆疊名稱包含未刪除環境名稱狀態DELE TE_FAILED 的項目。例如,如果環境名稱是my-demo-environment,請選擇以 aws-cloud 9-名稱開頭的堆疊。my-demo-environment(請選擇環境名稱旁的方塊或選項,而非環境名稱本身。)

  4. 選擇 Actions (動作)、Delete Stack (刪除堆疊)

  5. 出現提示時,選擇 Yes, Delete (是,刪除)

刪除堆疊的程序可能需要幾分鐘的時間。

如果堆疊從清單中消失,則表示環境已刪除。

如果幾分鐘過後堆疊仍然顯示 DELETE_FAILED,則表示環境仍未刪除。您可以嘗試手動刪除已失敗堆疊的每個資源。

注意

手動刪除失敗的堆棧的資源並不會將堆棧本身從 AWS 帳戶.

若要手動刪除這些資源,請執行下列動作。在 AWS CloudFormation 主控台中,選擇失敗的堆疊,然後選取 [資] 區段。移至此清單中每個 AWS 資源的主控台,然後使用該主控台刪除資源。

變更 AWS Cloud9 IDE 中環境的逾時時間

問題:使用者想要更新 Amazon EC2 環境的逾時時間。

原因:預設逾時時間為 30 分鐘。對於某些用戶來說,這可能太短了。

建議解決方案:

  1. 開啟您要設定的環境。

  2. AWS Cloud9 IDE 的功能表列上,選擇「AWS Cloud9偏好設定」。

  3. 在「偏好設定」視窗中,捲動至 Amazon EC2 執行個體區段。

  4. 從可用清單中選取逾時值並進行更新。

在 AWS Toolkit 本機執行 SAM 應用程式時發生錯誤,因為 AWS Cloud9 環境沒有足夠的磁碟空間

問題:當您使用 AWS 工具組為 SAM 範本定義的應用程式執行 AWS SAM CLI 命令時,就會發生錯誤。

可能的原因:當您使用 AWS Toolkit 在本機執行無伺服器應用程式並偵錯時,會 AWS SAM 使用Docker映像檔。這些映像提供執行時間環境和建置工具,而這些工具會模擬您計劃要部署至其中的 Lambda 環境。

不過,如果您的環境缺乏足夠的磁碟空間,提供這些功能的 Docker 映像就無法建置,且您的本機 SAM 應用程式無法執行。如果發生這個問題,您可能會在 Output (輸出) 索引標籤收到錯誤,內容如下。

Error: Could not find amazon/aws-sam-cli-emulation-image-python3.7:rapid-1.18.1 image locally and failed to pull it from docker.

此錯誤與使用 Python 執行時間建置的 SAM 應用程式相關。根據您為應用程式選擇的執行時間而定,您收到的訊息可能稍有不同。

建議解決方案:釋放環境中的磁碟空間,以便 Docker 映像可以進行建置。在 IDE 的終端機中執行以下命令,藉此移除任何未使用的 Docker 映像。

docker image prune -a

如果您因為磁碟空間的限制而反覆遇到 SAM CLI 命令的問題,請切換到使用不同執行個體類型的開發環境。

(回到頁首)

無法使用舊版 Microsoft Edge 瀏覽器載入 IDE

問題:HTTP403: FORBIDDEN嘗試使用Microsoft Edge網頁瀏覽器載入 AWS Cloud9 IDE 時傳回錯誤。

可能的原因: AWS Cloud9 IDE 不支援某些舊版的Microsoft Edge.

建議解決方案:若要更新瀏覽器,請選擇 Microsoft Edge 工具列中的省略符號 (...) 按鈕。從功能表中,選擇 Settings (設定),然後選擇 About Microsoft Edge (關於 Microsoft Edge)。如果需要更新,系統會自動下載並安裝更新。

(回到頁首)

無法在 AWS Cloud9 IDE 檔案總管中建立子資料夾結構 /home/ec2-user/environment/home/ec2-user/environment

問題:當您在 IDE 檔案總管中建立子資料夾結構 /home /ec2-使用者/環境 /家庭/ec2-使用者/環境時,您會收到一條錯誤訊息,指 AWS Cloud9 出無法開啟此目錄。

可能的原因:目前無法使用 IDE 的檔案系統,在相同名稱的資料夾內建立子資料夾結構 /home /ec2-user/ 環境。 AWS Cloud9 您將無法從 AWS Cloud9 IDE 檔案總管存取此目錄中的任何檔案,但是您可以使用命令列存取這些檔案。此問題只影響檔案路徑 /home/ec2-user/environment/home/ec2-user/environment/test/home/ec2-user/environment/home/ec2-user/environment/test 等檔案路徑應該可以運作。這是已知問題,只會影響 AWS Cloud9 IDE 檔案總管。

建議解決方案:使用不同的檔案名稱和結構。

(回到頁首)

無法在 IDE 的文件資源管理器中創建子文件夾結構/項目/項目。 AWS Cloud9 CodeCatalyst

問題:當您在 AWS Cloud9 IDE 檔案總管中建立子資料夾結構 /專案/專案時 CodeCatalyst,您會收到一則錯誤訊息,指出無法開啟此目錄。

可能的原因:目前無法使用 AWS Cloud9 IDE 的檔案總管,在相同名稱的資料夾內建立子資料夾結構/專案。 CodeCatalyst您將無法從 AWS Cloud9 IDE 檔案總管存取此目錄中的任何檔案,但是您可以使用命令列存取這些檔案。此問題只會影響檔案路徑 /projects/projects/test/projects/projects/test 等檔案路徑應該可以運作。這是已知的問題, AWS Cloud9 只會影響 CodeCatalyst.

建議解決方案:使用不同的檔案名稱和結構。

(回到頁首)

因為 tmux 工作階段發生錯誤,所以無法與 AWS Cloud9 中的終端機視窗互動。

問題:當您嘗試在中啟動新的終端機視窗時 AWS Cloud9,預期的命令列介面無法使用。沒有命令提示字元,您無法輸入文字。系統會傳回諸如 tmux: need UTF-8 locale (LC_CTYPE)invalid LC_ALL, LC_CTYPE or LANG 等錯誤訊息。

可能的原因:無回應的終端機可能是由 tmux 錯誤所造成。 AWS Cloud9 使用 tmux 公用程式。如此,顯示在終端機中的資訊,即使在頁面重新載入或您重新連線至開發環境時也會持續存在。

tmux 工作階段中,終端機視窗中顯示的內容會由用戶端處理。用戶端會與可管理多個工作階段的伺服器通訊。伺服器和用戶端會透過位於 tmp 資料夾中的通訊端進行通訊。如果 tmp 資料夾在開發環境中遺失,或者套用了過於嚴格的許可,tmux 工作階段就無法執行。如果發生這種情況,IDE 中的終端機視窗將不會有回應。

建議的解決方案:如果 tmux 錯誤使您無法與終端機視窗互動,請使用替代方式來建立具有適當許可的 tmp 資料夾。這樣,tmux 工作階段就能執行。其中一種解決方法是在 .bash_profile.bashrc 檔案中匯出 LC_CTYPE。另一個建議的解決方案是用 AWS Systems Manager 來設定主機管理組態。如此可以透過 Amazon EC2 主控台存取相關執行個體。

設定主機管理

  1. 首先,在主 AWS Cloud9 控台中尋找環境執行個體的名稱。若要這麼做,請選擇 Your environments (您的環境) 中的相關面板,並選擇 View details (檢視詳細資訊)。在 Environment details (環境詳細資訊) 頁面中,選擇 Go to Instance (前往執行個體)。在 Amazon EC2 主控台中,確認您需要存取的執行個體名稱。

  2. 現在轉到 AWS Systems Manager 控制台,然後在導航窗格中選擇快速設置

  3. Quick Setup (快速設定) 頁面中,選擇 Create (建立)。

  4. 對於 Configuration types (組態類型),前往 Host Management (主機管理),然後選擇 Create (建立)。

  5. 對於 Customize Host Management configuration options (自訂主機管理組態選項),在 Targets (目標) 區段中,選擇 Manual (手動)。

  6. 選取您要存取的 EC2 執行個體,然後選擇 Create (建立)。

連線至執行個體並執行命令

注意

以下步驟適用於全新 EC2 主控台。

  1. 在 Amazon EC2 主控台的導覽窗格中,選擇 Instances (執行個體),然後選取您要連線的執行個體。

  2. 選擇連線

    如果 Connect (連線) 並未啟用,您可能需要先啟動該執行個體。

  3. Connect to your instance (連線至您的執行個體) 窗格中,對於 Connection method (連線方法),選擇 Session Manager (工作階段管理員),然後選擇 Connect (連線)。

  4. 在出現的終端機工作階段視窗中,輸入下列指令。這些命令會建立具有適當許可的 tmp 資料夾,讓 tmux 通訊端可供使用。

    sudo mkdir /tmp sudo chmod 777 /tmp sudo rmdir /tmp/tmux-*

(回到頁首)

Amazon EC2

以下部分概述了與 Amazon EC2 相關的疑難排解問題。

Amazon EC2 執行個體未自動更新

問題:最近的系統更新不會自動套用至連線到 AWS Cloud9 開發環境的 Amazon EC2 執行個體。

原因:自動套用最近的系統更新可能導致您的程式碼或 Amazon EC2 執行個體在未經您事先知悉或核准的情況下發生行為異常。

建議解決方案:

遵循 Amazon EC2 使用者指南中更新執行個體軟體中的指示,定期將系統更新套用至 Amazon EC2行個體。

若要在執行個體上執行命令,您可以在連接至執行個體的環境中使用 AWS Cloud9 IDE 中的終端機工作階段。

或者,您可以使用 SSH 遠端存取公用程式 (例如 ssh 或 PuTTY) 連線至執行個體。若要這樣做,請從您的本機電腦中使用 ssh-keygen 或 PuTTYgen 之類的 SSH 金鑰對建立公用程式。使用來自連線至執行個體之環境的 AWS Cloud9 IDE,將產生的公開金鑰儲存在執行個體上。接著使用 SSH 遠端存取公用程式連同產生的私密金鑰以存取執行個體。如需詳細資訊,請參閱公用程式的說明文件。

AWS CLI 或 AWS-shell 錯誤:EC2 環境中包含的「請求中包含的安全令牌無效」

問題:當您嘗試使用 AWS Command Line Interface (AWS CLI) 或 AWS-shell 在 AWS Cloud9 IDE 中針對 EC2 環境執行命令時,會顯示錯誤:「請求中包含的安全性權杖無效。」

原因:如果您已啟用 AWS 受管臨時憑證,且發生下列其中一個事項,就可能產生無效的安全權杖:

  • 您嘗試執行受 AWS 管理暫時認證不允許的命令。如需允許命令的清單,請參閱 AWS 受管理暫時認證支援的動作

  • AWS 受管理的臨時登入資料會在 15 分鐘後自動過期。

  • 由於新成員是由環境擁有者以外的人員新增,因此共用環境的 AWS 受管理暫時登入資料已停用。

建議解決方案:

  • 只執行 AWS 受管理的臨時認證允許的那些命令。如果您需要執行 AWS 受管理暫時認證不允許的命令,請使用一組永久認證在環境中設定 AWS CLI 或 AWS-shell。這可消除此限制。如需說明,請參閱在環境中建立並存放永久存取憑證

  • 對於停用或過期的認證,請確定環境擁有者開啟環境, AWS Cloud9 以便重新整理環境中的暫時登入資料。如需詳細資訊,請參閱 控制 AWS 受管臨時憑證的存取權

無法連線到 EC2 環境,因為 VPC 的 IP 地址是由 Docker 使用

問題:使用 EC2 環境時,如果您在採用 IPv4 無類別域間路由 (CIDR) 區塊 172.17.0.0/16 的 Amazon VPC 中啟動 EC2 執行個體,則在您嘗試開啟該環境時,連線可能會停滯。

原因:Docker 使用稱為橋接網絡的鏈接層設備,該設備使連接到同一橋接器網絡的容器進行通信。 AWS Cloud9 會建立使用預設橋接器進行容器通訊的容器。預設橋接器通常會使用 172.17.0.0/16 子網路來進行容器網路連線。

如果環境執行個體的 VPC 子網路使用 Docker 已經使用的相同地址範圍,可能會發生 IP 地址衝突。因此,如果 AWS Cloud9 嘗試連線到其執行個體,則該連線會由閘道路由表路由到 Docker 橋接器。如此可防 AWS Cloud9 止連線至支援開發環境的 EC2 執行個體。

建議解決方案:若要解決 Amazon VPC 和 Docker 使用相同的 IPv4 CIDR 地址區塊所造成的 IP 地址衝突,請為支援 EC2 環境的執行個體設定新的 VPC。請為這個新的 VPC 設定有別於 172.17.0.0/16 的 CIDR 區塊。(您不能變更現有 VPC 或子網路的 IP 地址範圍。)

如需詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 和子網路規模調整

無法在 AWS Cloud9 IDE 檔案總管中建立子資料夾結構 /home/ec2-user/environment/home/ec2-user/environment

問題:當您在 IDE 檔案總管中建立子資料夾結構 /home /ec2-使用者/環境 /家庭/ec2-使用者/環境時,您會收到一條錯誤訊息,指 AWS Cloud9 出無法開啟此目錄。

可能的原因:目前無法使用 IDE 的檔案系統,在相同名稱的資料夾內建立子資料夾結構 /home /ec2-user/ 環境。 AWS Cloud9 您將無法從 AWS Cloud9 IDE 檔案總管存取此目錄中的任何檔案,但是您可以使用命令列存取這些檔案。此問題只影響檔案路徑 /home/ec2-user/environment/home/ec2-user/environment/test/home/ec2-user/environment/home/ec2-user/environment/test 等檔案路徑應該可以運作。這是已知問題,只會影響 AWS Cloud9 IDE 檔案總管。

建議解決方案:使用不同的檔案名稱和結構。

AWS License Manager 授權組態與 Amazon EC2 執行個體相關聯時,無法 AWS Cloud9 從主控台啟動

問題:當您嘗試從主控台啟動 AWS Cloud9 EC2 環境時,會傳回錯誤訊息unable to access your environment

可能的原因: AWS License Manager 簡化了 AWS 雲端. 設定 License Manager 時,您可以建立授權組態,它們是以您的企業協議條款為根據的授權規則集。這些授權組態可附加至機制,例如 Amazon 機器映像 (AMI) 或 AWS CloudFormation. 您可以使用其中一種機制來啟動 EC2 執行個體。

AWSServiceRoleForAWSCloud9 服務連結角色 (SLR) 的AWSCloud9ServiceRolePolicy舊版目前不包含license-configuration資源條件。因此, AWS Cloud9 不允許啟動和停止其實例。因此, AWS Cloud9 被拒絕訪問其 Amazon EC2 實例,並返回錯誤。

建議的解決方案:如果您無法存取現有 AWS Cloud9 環境並使用 License Manager,請將舊的AWSCloud9ServiceRolePolicy服務連結角色取代為 SLR 版本,以便在license-configuration套用至執行個體時明確允許 EC2 動作。您可以透過直接刪除來取代舊角色。然後,更新過的角色會自動建立。

無法在 EC2 環境中執行某些命令或指令碼

問題:開啟 AWS Cloud9 EC2 開發環境之後,您無法安裝某些類型的套件、執行或之類的命令aptyum或執行包含通常與其他 Linux 作業系統搭配使用之命令的指令碼。

原因: AWS Cloud9 用於 EC2 環境的 Amazon EC2 實例依賴於亞馬遜 Linux(基於紅帽企業 Linux(RHEL))或 Ubuntu 服務器。

解決方案:如果您在 EC2 環境的 IDE 中安裝或管理套件,或執行命令或指令碼,請視環境的執行個體而定,確認這些項目可與 RHEL (適用於 Amazon Linux) 或 Ubuntu Server 相容。

使用創建 EC2 環境時,錯誤消息報告「實例配置文 AWSCloud9SSMInstanceProfile 件不存在於帳戶中」 AWS CloudFormation

問題:使用 AWS::Cloud9::EnvironmentEC2 AWS CloudFormation 資源建立 EC2 環境時,使用者會收到帳戶中 AWSCloud9SSMInstanceProfile不存在執行個體設定檔的錯誤訊息。

原因:建立無輸入 EC2 環境時,您必須建立服務角色 AWSCloud9SSMAccessRole 和執行個體描述檔 AWSCloud9SSMInstanceProfile。這些 IAM 資源可讓 Systems Manager 管理可為開發環境提供支援的 EC2 執行個體。

如果您使用主控台建立無輸入環境,AWSCloud9SSMAccessRoleAWSCloud9SSMInstanceProfile 會自動建立。但是使用 AWS CloudFormation 或 AWS CLI 建立第一個無輸入環境時,您必須手動建立這些 IAM 資源。

建議的解決方案:如需編輯 AWS CloudFormation 範本和更新 IAM 許可的相關資訊,請參閱 使用 AWS CloudFormation 建立無輸入 EC2 環境

使用 AWS CloudFormation建立 EC2 環境時,有錯誤訊息回報「未授權對資源執行 perform: ssm:StartSession

問題:使用 AWS::Cloud9::EnvironmentEC2 AWS CloudFormation 資源建立 EC2 環境時,使用者會收到AccessDeniedException並通知他們「未授權執行:ssm:StartSession在資源上」。

原因:使用者缺少呼叫 StartSession API 的許可,此許可對於使用 Systems Manager 管理無輸入執行個體的 EC2 環境而言,是組態中必需的部分。

建議的解決方案:如需編輯 AWS CloudFormation 範本和更新 IAM 許可的相關資訊,請參閱使用 AWS CloudFormation 建立無輸入 EC2 環境

使用 AWS CLI建立 EC2 環境時,有錯誤訊息回報未授權「在資源:執行個體設定檔 AWSCloud9SSMInstanceProfile 上執行:iam:GetInstanceProfile

問題:使用建立 EC2 環境時,使用者會收到AccessDeniedException並通知其 AWS Cloud9 環境未獲授權「GetInstanceProfile 在資源:執行個體設定檔上執行 iam:」AWSCloud9SSMInstanceProfileAWS CLI

原因:對於使用 Systems Manager 進行無進入實例的 EC2 環境, AWS Cloud9 缺少調用作為配置一部分所需的 StartSession API 的許可。

建議的解決方案:如需有關新增必要AWSCloud9SSMAccessRole服務角色和AWSCloud9SSMInstanceProfile AWS Cloud9 環境的資訊,請參閱使用 AWS CLI 管理 Systems Manager 的執行個體描述檔

將預設加密套用至 Amazon EBS 磁碟區時,無法建立環境

問題:嘗試建立 Amazon EC2 環境時傳回 Failed to create environments. The development environment '[environment-ID]' failed to create 錯誤。

可能的原因:如果您的 AWS Cloud9 IDE 使用預設情況下已加密的 Amazon EBS 磁碟區,則的 AWS Identity and Access Management 服務連結角色 AWS Cloud9 需要存取這些 EBS 磁碟區 AWS KMS keys 的。如果未提供存取權, AWS Cloud9 IDE 可能無法啟動,而且可能難以偵錯問題。

建議的解決方案:若要提供存取權,請 AWS Cloud9將服務連結角色新增至 Amazon EBS 磁碟區使用的客戶受管金鑰。AWSServiceRoleForAWSCloud9

如需有關此工作的詳細資訊,請參閱AWS 規範指導模式中的建立使用 Amazon EBS 磁碟區的預設加密功 AWS Cloud9 能

EC2-Classic 帳戶的 VPC 錯誤:「無法存取您的環境」

問題:EC2-Classic 導入了 Amazon EC2 的原始版本。如果您使 AWS 帳戶 用 2013 年 12 月 4 日之前設定的版本,如果您在建立 AWS Cloud9 EC2 開發環境時未設定 Amazon VPC 和子網路,則可能會發生此錯誤。

如果您接受預設 VPC 設定,則 Amazon EC2 執行個體會在 EC2-Classic 網路中啟動。此執行個體不會啟動至預設 VPC 的子網路。當建立環境失敗時會顯示下列訊息:

環境錯誤

無法存取您的環境

建立環境失敗,出現錯誤:下列資源無法建立:[執行個體]. . 使用者請求轉返..

您可以確認錯誤是因為 EC2 執行個體不在預設 VPC 中所造成的。用 AWS CloudFormation 於檢視開發環境的堆疊事件歷程記錄。

  1. 開啟主 AWS CloudFormation 控台。如需詳細資訊,請參閱登入 AWS CloudFormation 主控台

  2. 在 AWS CloudFormation 主控台中,選擇 [堆疊]。

  3. Stacks (堆疊) 頁面上,選擇無法建立的開發環境名稱。

  4. Stack details (堆疊詳細資訊) 頁面上,選擇 Events (事件) 標籤,然後檢查下列項目:

    狀態:CREATE_FAILED

    狀態原因:僅 VPC 啟動支持該 AssociatePublicIpAddress 參數。[...]

原因: AWS Cloud9 開發環境必須與符合特定 VPC 需求的 Amazon VPC 相關聯。如果是啟用了 EC2-Classic 的帳戶,在建立 EC2 環境時接受預設網路設定,則所需的 EC2 執行個體不會在 VPC 中啟動。相反地,該執行個體會在 EC2-Classic 網路中啟動。

建議解決方案:使用 EC2-Classic 帳戶,您必須在建立 EC2 環境時選取 VPC 和子網路。在 Configure settings (配置設定) 頁面的 Network settings (advanced) (網路設定 (進階)) 區段中,選取您可以在 VPC 和子網路中啟動的 EC2 執行個體。

其他 AWS 服務

下節概述了與其他 AWS 服務相關的疑難排解問題。

無法在 IDE 的文件資源管理器中創建子文件夾結構/項目/項目。 AWS Cloud9 CodeCatalyst

問題:當您在 AWS Cloud9 IDE 檔案總管中建立子資料夾結構 /專案/專案時 CodeCatalyst,您會收到一則錯誤訊息,指出無法開啟此目錄。

可能的原因:目前無法使用 AWS Cloud9 IDE 的檔案總管,在相同名稱的資料夾內建立子資料夾結構/專案。 CodeCatalyst您將無法從 AWS Cloud9 IDE 檔案總管存取此目錄中的任何檔案,但是您可以使用命令列存取這些檔案。此問題只會影響檔案路徑 /projects/projects/test/projects/projects/test 等檔案路徑應該可以運作。這是已知的問題, AWS Cloud9 只會影響 CodeCatalyst.

建議解決方案:使用不同的檔案名稱和結構。

無法從 IDE 外部顯示執行中的應用程式

問題:當您或其他人嘗試從 IDE 外部由 Web 瀏覽器標籤顯示執行中的應用程式時,Web 瀏覽器標籤顯示錯誤或一片空白。

可能原因:

  • 應用程式未在 IDE 中執行。

  • 應用程式使用 IP 127.0.0.1localhost 執行。

  • 應用程式在 AWS Cloud9 EC2 開發環境中執行。此外,與對應的 Amazon EC2 執行個體相關聯的一個或多個安全群組不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳入流量。

  • 應用程式在 AWS 雲端運算執行個體 (例如 Amazon EC2 執行個體) 的 AWS Cloud9 SSH 開發環境中執行。此外,與對應的執行個體相關聯虛擬私有雲端 (VPC) 中的子網路設有網路 ACL,不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳入流量。

  • URL 不正確。

  • 請求的 URL 是應用程式預覽標籤上的網址,而不是執行個體的公有 IP 地址。

  • 您正嘗試前往的 IP 地址包含 127.0.0.1localhost。這些 IP 會嘗試存取本機電腦上的資源,而非環境中的資源。

  • 執行個體的公有 IP 地址已變更。

  • Web 請求源自於虛擬私有網路 (VPN),會封鎖透過應用程式所需的通訊協定、連接埠或 IP 地址傳送流量。

  • 應用程式正在 SSH 環境中執行。此外,伺服器或相關聯的網路並不允許透過應用程式所需的通訊協定、連接埠或 IP 地址傳送流量。

建議解決方案:

  • 確認應用程式是在 IDE 中執行。

  • 確認應用程式未使用 IP 127.0.0.1localhost 執行。如需 Node.js 和 Python 方面的範例,請參閱執行應用程式

  • 假設應用程式在 AWS 雲端運算執行個體 (例如 Amazon EC2 執行個體) 上執行。接著,確認對應的執行個體其相關聯的所有安全群組皆允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳入流量。如需相關指示,請參閱透過網際網路共用執行中的應用程式中的步驟 2:為執行個體設定安全群組。另亦請參閱 Amazon VPC 使用者指南中的 VPC 的安全群組

  • 假設應用程式在 AWS 雲端運算執行個體上執行。此外,VPC 中與對應執行個體相關聯的子網路存在網路 ACL。接著,確認網路 ACL 允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳入流量。如需相關指示,請參閱透過網際網路共用執行中的應用程式中的步驟 3:為執行個體設定子網路。亦請參閱 Amazon VPC 使用者指南中的網路 ACL

  • 確認請求的 URL 正確無誤,包括通訊協定且可能必須指定連接埠。如需詳細資訊,請參閱透過網際網路共用執行中的應用程式中的步驟 4:共用執行中應用程式的 URL

  • 我們不建議要求使用格式的 URL https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/ (其中12a34567b8cd9012345ef67abcd890e1是 AWS Cloud9 指派給環境的 ID,而且us-east-2是環境的 AWS 區域 ID)。此 URL 僅限於環境的 IDE 已開啟且應用程式由同一個 Web 瀏覽器執行時才有效。

  • 假設您正嘗試前往的 IP 地址包含 127.0.0.1localhost。改為嘗試前往正確的執行中應用程式非本機地址。如需詳細資訊,請參閱 透過網際網路共用執行中的應用程式

  • 假設應用程式在 AWS 雲端運算執行個體上執行。查明執行個體的公有 IP 地址是否已變更。執行個體的公有 IP 地址可能因執行個體重新啟動而隨時變更。為避免此 IP 地址發生變更,您可以配置彈性 IP 地址,然後將該地址指派給運作中的執行個體。如需詳細資訊,請參閱透過網際網路共用執行中的應用程式中的步驟 4:共用執行中應用程式的 URL

  • 若 Web 請求源自於 VPN,請確認該 VPN 允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳送流量。若您無法對該 VPN 進行變更,請洽詢您的網路管理員。或者如果可行,從其他網路提出 Web 請求。

  • 假設應用程式在您自己伺服器的 SSH 環境中執行。確認您的伺服器和相關聯的網路允許透過應用程式所需的通訊協定、連接埠及 IP 地址傳送流量。若您無法對伺服器或相關聯的網路進行變更,請洽詢您的伺服器或網路管理員。

  • 執行 curl 命令,後面加上 URL,藉此嘗試從環境的終端機執行應用程式。如果此命令顯示錯誤消息,則可能還有其他一些與之無關的問題 AWS Cloud9。

運行 AWS 工具包時出錯:「您的環境節點用完了,請增加 'fs.inotify.max_user_watch' 限制。」

問題: AWS Toolkit 使用的檔案監看員公用程式接近目前可觀看的檔案限制或檔案配額。

原因: AWS Toolkit 使用文件監視器實用程序來監視文件和目錄的更改。當公用程式幾乎達到目前可監看的檔案數量配額時,會顯示警告訊息。

建議解決方案:若要增加檔案監看員可處理的最大檔案數量,請執行下列動作:

  1. 在選單列上選擇 Window (視窗)、New Terminal (新增終端機),啟動終端機工作階段。

  2. 輸入以下命令。

    sudo bash -c 'echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf' && sudo sysctl -p

Lambda 本機函數執行錯誤:無法安裝 SAM Local

問題:嘗試在 AWS Cloud9 IDE 中執行 AWS Lambda 函數的本機版本之後,會顯示一個對話方塊。對話方塊會指出在 AWS Cloud9 安裝 SAM 本機時遇到問題。 AWS Cloud9 需要 SAM 本地在 IDE 中運行 AWS Lambda 函數的本地版本。除非安裝 SAM Local,否則您無法在 IDE 中執行本機版本的 Lambda 函式。

原因: AWS Cloud9 在環境中的預期路徑上找不到 SAM 本地,也就是說~/.c9/bin/sam。這是因為 SAM Local 尚未安裝,或已安裝但 AWS Cloud9 未能在上述位置找到該元件。

建議的解決方案:您可以等待 AWS Cloud9 嘗試完成 SAM Local 的安裝,也可以自行安裝。

要查看如何 AWS Cloud9 嘗試安裝 SAM Local,請選擇菜單欄上的窗口,安裝程序。

若要自行安裝 SAM 本機,請遵循AWS Serverless Application Model 開發人員指南中在 Linux 上安裝 AWS SAM CLI 中的指示。

AWS Control Tower 嘗試使用以下方式創建 Amazon EC2 環境時出錯 AWS Cloud9:「環境創建失敗,出現錯誤:以下鉤子失敗:[:ControlTower: Guard:: Hook]」。

問題:存在與 AWS Cloud9 AWS Control Tower 主動控制 CT.EC2.PR. 8 的相容性問題。如果啟用此控制項,則無法在中建立 EC2 環境 AWS Cloud9。

原 AWS Control Tower 因:期望AssociatePublicIpAddress參數位於 AWS CloudFormation 模板中。此參數目前無法新增。

建議的解決方案:從 AWS Control Tower 主控台停用控制 CT.EC2.PR.8,然後在中重新建立環境。 AWS Cloud9

將預設加密套用至 Amazon EBS 磁碟區時,無法建立環境

問題:嘗試建立 Amazon EC2 環境時傳回 Failed to create environments. The development environment '[environment-ID]' failed to create 錯誤。

可能的原因:如果您的 AWS Cloud9 IDE 使用預設情況下已加密的 Amazon EBS 磁碟區,則的 AWS Identity and Access Management 服務連結角色 AWS Cloud9 需要存取這些 EBS 磁碟區 AWS KMS keys 的。如果未提供存取權, AWS Cloud9 IDE 可能無法啟動,而且可能難以偵錯問題。

建議的解決方案:若要提供存取權,請 AWS Cloud9將服務連結角色新增至 Amazon EBS 磁碟區使用的客戶受管金鑰。AWSServiceRoleForAWSCloud9

如需有關此工作的詳細資訊,請參閱AWS 規範指導模式中的建立使用 Amazon EBS 磁碟區的預設加密功 AWS Cloud9 能

(回到頁首)

AWS License Manager 授權組態與 Amazon EC2 執行個體相關聯時,無法 AWS Cloud9 從主控台啟動

問題:當您嘗試從主控台啟動 AWS Cloud9 EC2 環境時,會傳回錯誤訊息unable to access your environment

可能的原因: AWS License Manager 簡化了 AWS 雲端. 設定 License Manager 時,您可以建立授權組態,它們是以您的企業協議條款為根據的授權規則集。這些授權組態可附加至機制,例如 Amazon 機器映像 (AMI) 或 AWS CloudFormation. 您可以使用其中一種機制來啟動 EC2 執行個體。

AWSServiceRoleForAWSCloud9 服務連結角色 (SLR) 的AWSCloud9ServiceRolePolicy舊版目前不包含license-configuration資源條件。因此, AWS Cloud9 不允許啟動和停止其實例。因此, AWS Cloud9 被拒絕訪問其 Amazon EC2 實例,並返回錯誤。

建議的解決方案:如果您無法存取現有 AWS Cloud9 環境並使用 License Manager,請將舊的AWSCloud9ServiceRolePolicy服務連結角色取代為 SLR 版本,以便在license-configuration套用至執行個體時明確允許 EC2 動作。您可以透過直接刪除來取代舊角色。然後,更新過的角色會自動建立。

(回到頁首)

申請預覽

下節概述了與應用程式預覽相關的疑難排解問題。

重新載入環境後,您必須重新整理應用程式預覽

問題:在您重新載入顯示應用程式預覽標籤的環境後,該標籤並未顯示應用程式預覽。

原因:有時使用者編寫的程式碼會執行無限迴圈。或者他們的程式碼可能會使用太多記憶體,以至於應用程式預覽執行時 AWS Cloud9 IDE 可能會暫停或停止。為了避免這種情況發生,每當重新載入環境時,都 AWS Cloud9 不會重新載入應用程式預覽索引標籤。

解決方案:在您重新載入顯示應用程式預覽標籤的環境後,從該標籤上選擇 Click to load the page (按一下以載入頁面) 按鈕,即可顯示應用程式預覽。

應用程式預覽或檔案預覽通知:「Third-party cookies disabled」(已停用第三方 Cookie)

問題: 當您嘗試預覽應用程式檔案時,畫面會通知下列訊息:「Preview functionality is disabled because your browser has third-party cookies disabled.」(已停用預覽功能,因為您的瀏覽器已停用第三方 Cookie。)

原因:打開 AWS Cloud9 IDE 不需要第三方餅乾。不過,您必須啟用第三方 Cookie,才能使用「應用程式預覽」或「檔案預覽」功能。

解決方案:在 Web 瀏覽器中啟用第三方 Cookie、重新載入您的 IDE,然後嘗試再次開啟預覽。

您的 Web 瀏覽器必須允許此資料粒度,您才能為 AWS Cloud9啟用第三方 Cookie。若要執行此操作,請根據您使用 AWS Cloud9的支援 AWS 區域 ,指定下列網域。

AWS 區域 網域

美國東部 (維吉尼亞北部)

*.vfs.cloud9.us-east-1.amazonaws.com

vfs.cloud9.us-east-1.amazonaws.com

美國東部 (俄亥俄)

*.vfs.cloud9.us-east-2.amazonaws.com

vfs.cloud9.us-east-2.amazonaws.com

美國西部 (加利佛尼亞北部)

*.vfs.cloud9.us-west-1.amazonaws.com

vfs.cloud9.us-west-1.amazonaws.com

美國西部 (奧勒岡)

*.vfs.cloud9.us-west-2.amazonaws.com

vfs.cloud9.us-west-2.amazonaws.com

非洲 (開普敦)

*.vfs.cloud9.af-south-1.amazonaws.com

vfs.cloud9.af-south-1.amazonaws.com

亞太區域 (香港)

*.vfs.cloud9.ap-east-1.amazonaws.com

vfs.cloud9.ap-east-1.amazonaws.com

亞太區域 (孟買)

*.vfs.cloud9.ap-south-1.amazonaws.com

vfs.cloud9.ap-south-1.amazonaws.com

亞太區域 (大阪)

*.vfs.cloud9.ap-northeast-3.amazonaws.com

vfs.cloud9.ap-northeast-3.amazonaws.com

亞太區域 (首爾)

*.vfs.cloud9.ap-northeast-2.amazonaws.com

vfs.cloud9.ap-northeast-2.amazonaws.com

亞太區域 (新加坡)

*.vfs.cloud9.ap-southeast-1.amazonaws.com

vfs.cloud9.ap-southeast-1.amazonaws.com

亞太區域 (雪梨)

*.vfs.cloud9.ap-southeast-2.amazonaws.com

vfs.cloud9.ap-southeast-2.amazonaws.com

亞太區域 (東京)

*.vfs.cloud9.ap-northeast-1.amazonaws.com

vfs.cloud9.ap-northeast-1.amazonaws.com

加拿大 (中部)

*.vfs.cloud9.ca-central-1.amazonaws.com

vfs.cloud9.ca-central-1.amazonaws.com

歐洲 (法蘭克福)

*.vfs.cloud9.eu-central-1.amazonaws.com

vfs.cloud9.eu-central-1.amazonaws.com

歐洲 (愛爾蘭)

*.vfs.cloud9.eu-west-1.amazonaws.com

vfs.cloud9.eu-west-1.amazonaws.com

歐洲 (倫敦)

*.vfs.cloud9.eu-west-2.amazonaws.com

vfs.cloud9.eu-west-2.amazonaws.com

歐洲 (米蘭)

*.vfs.cloud9.eu-south-1.amazonaws.com

vfs.cloud9.eu-south-1.amazonaws.com

歐洲 (巴黎)

*.vfs.cloud9.eu-west-3.amazonaws.com

vfs.cloud9.eu-west-3.amazonaws.com

歐洲 (斯德哥爾摩)

*.vfs.cloud9.eu-north-1.amazonaws.com

vfs.cloud9.eu-north-1.amazonaws.com

中東 (巴林)

*.vfs.cloud9.me-south-1.amazonaws.com

vfs.cloud9.me-south-1.amazonaws.com

南美洲 (聖保羅)

*.vfs.cloud9.sa-east-1.amazonaws.com

vfs.cloud9.sa-east-1.amazonaws.com

應用程式預覽標籤顯示錯誤或一片空白

問題:當您從 IDE 的選單列選擇 Preview、Preview Running Application (預覽、預覽執行中的應用程式) 或 Tools、Preview、Preview Running Application (工具、預覽、預覽執行中的應用程式) 嘗試讓 IDE 的預覽標籤顯示您的應用程式時,該標籤顯示錯誤或一片空白。

可能原因:

  • 您的應用程式未在 IDE 中執行。

  • 您的應用程式未使用 HTTP 執行。

  • 您的應用程式透過多個連接埠執行。

  • 您的應用程式透過 808080818082 以外的連接埠執行。

  • 您的應用程式使用 127.0.0.1localhost0.0.0.0 以外的 IP 執行。

  • 預覽標籤上的 URL 未指定連接埠 (808080818082)。

  • 您的網路封鎖了對連接埠 808080818082 的傳入流量。

  • 您正嘗試前往的 IP 地址包含 127.0.0.1localhost0.0.0.0。依預設, AWS Cloud9 IDE 會嘗試移至您的本機電腦。它不會嘗試移至連線至環境的執行個體或您自己的伺服器。

建議解決方案:

  • 確認應用程式是在 IDE 中執行。

  • 確認應用程式是使用 HTTP 執行。如需 Node.js 和 Python 方面的範例,請參閱執行應用程式

  • 確認應用程式只透過單一連接埠執行。如需 Node.js 和 Python 方面的範例,請參閱執行應用程式

  • 確認應用程式是透過連接埠 808080818082 執行。如需 Node.js 和 Python 方面的範例,請參閱執行應用程式

  • 確認應用程式是使用 IP 127.0.0.1localhost0.0.0.0 執行。如需 Node.js 和 Python 方面的範例,請參閱執行應用程式

  • 為預覽標籤上的 URL 添加 :8080:8081:8082

  • 確認您的網路允許透過連接埠 808080818082 傳入流量。若您無法對網路進行變更,請洽詢您的網路管理員。

  • 如果您嘗試移至包含 IP 127.0.0.1localhost0.0.0.0 的地址,請嘗試改為移至以下地址:https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/。在這個地址中,12a34567b8cd9012345ef67abcd890e1 是 AWS Cloud9 指派給環境的 ID。us-east-2 是 AWS 區域 指派給環境的 ID。您也可以嘗試移到 IDE 之外的此地址。不過,這僅限於環境的 IDE 已開啟且應用程式由同一個 Web 瀏覽器執行時才有效。

  • 確認符合上述所有條件後,嘗試停止應用程式並將其重新啟動。

  • 如果您已停止應用程式並將其重新啟動,請再次嘗試從選單列選擇 Preview、Preview Running Application (預覽、預覽執行中的應用程式) 或 Tools、Preview、Preview Running Application (工具、預覽、預覽執行中的應用程式)。或者,若已能夠看到相應的應用程式預覽標籤,則由該標籤上選擇 Refresh (重新整理) 按鈕 (圓形箭頭)。

無法在 IDE 中預覽 Web 內容,因為與網站的連線不安全

問題:當您嘗試存取 Web 內容 (例如 AWS Cloud9 EC2 環境中託管的網 WordPress 站) 時,IDE 預覽視窗無法顯示該內容。

可能的原因:依預設,您在 AWS Cloud9 IDE 的 [應用程式預覽] 索引標籤中存取的所有網頁都會自動使用 HTTPS 通訊協定。如果頁面的 URI 具有不安全的 http 通訊協定,就會自動由 https 替代。而且您無法藉由手動將 https 改回 http 來存取不安全的內容。

建議解決方案:從您嘗試在 IDE 中預覽的網站中移除不安全的 HTTP 指令碼或內容。請按照 Web 伺服器或內容管理系統的指示,以取得實作 HTTPS 的指引。

預覽檔案時傳回 499 錯誤

問題:當您嘗試使用 AWS Cloud9 IDE 預覽包含包含src屬性且屬性設定為之<script>元素的檔案時module,會發生 499 錯誤,且指令碼未如預期般執行。type

原因: AWS Cloud9 IDE 中的文件預覽獲取請求需要 Web 瀏覽器發送 cookie 才能進行身份驗證。根據預設,Web 瀏覽器會針對一般指令碼請求傳送 Cookie。它們不會針對模組指令碼請求傳送 Cookie,除非您新增 crossorigin 屬性。

解決方案:crossorigin 屬性新增至 <script> 元素。例如 <script type="module" src="index.js" crossorigin></script>。然後,儲存已變更的檔案,並嘗試再次進行預覽。

效能

下節概述了與效能相關的疑難排解問題。

AWS Cloud9 IDE 凍結了大量時間

問題:在啟動期間以及執行重新整理時, AWS Cloud9 IDE 終端機會凍結大量時間,因此無法使用。

原因:您的環境中可能有大量檔案,這些檔案正在被的 AWS Cloud9檔案監看模組遞迴監視。

議的解決方案:您可以減少檔案監看深度 (最小值為 1),並考慮將與原始程式碼無關的大型資料夾或資料夾 (建置輸出/成品、協力廠商套件) 新增至忽略的模式。若要執行此操作,請導覽至喜好設定 > 使用者設定 > 檔案監視 請注意,這將導致 CodeLenses 工 AWS 具包無法正常工作。

另一個可能的解決方案是考慮忽略與源代碼無關的大文件和文件夾,方法是減少要搜索的文件的最大數量。若要執行此操作,請導覽至「偏好設定 > 專案設定 > 多檔尋找」。請注意,這將導致忽略的資料夾不會顯示在檔案搜尋中。

主控台警告:「Switching to the minimal code completion engine...」(切換到最少程式碼完成引擎…)

問題:在 AWS Cloud9 主控台中工作時 (例如,開啟 IDE 或重新整理 IDE 網頁時),您會看到此訊息:「在此環境中有一個或多個工作階段或共同作業者正在使用中。切換到最少程式碼完成引擎以節省記憶體。」 與此訊息相互關聯的程式碼完成行為可能會變慢或斷斷續續。

原因:執行程式碼完成引擎會需要環境中的記憶體和 CPU 週期。此外,每個協作者和每個額外的工作階段都需要個別的程式碼完成引擎。為了避免使用過多的資源,特別是在小型執行個體大小 (例如t2.nano和t2.micro) AWS Cloud9 切換到最小程式碼完成引擎。

建議解決方案:如果您計畫經常或長時間進行協作,請在建立 EC2 環境時選擇較大的 Amazon EC2 執行個體。或者,您也可以將 SSH 環境連線到容量更大的執行個體。

注意

選擇較大的 Amazon EC2 執行個體可能 AWS 帳戶 會產生額外費用。如需詳細資訊,請參閱 Amazon EC2 定價

IDE 警告:「This environment is running low on memory」(此環境的記憶體過低) 或「This environment has high CPU load」(此環境有高負載 CPU)

問題:執行 IDE 時,您會看到包含以下文字的訊息:「This environment is running low on memory」(此環境的記憶體過低) 或「This environment has high CPU load」(此環境有高負載 CPU)。

原因:此 IDE 可能沒有足夠的運算資源,無法在不延遲或當機的情況下繼續執行。

建議解決方案:

  • 停用一或多個執行程序以便釋放可用記憶體。若要停用,請在環境的 IDE 選單列中,選擇 Tools, Process List (工具、程序清單)​。針對您想要停用的每個程序,選擇程序後,在選取 Force Kill (強制終止)​。

  • 在環境中建立置換檔。置換檔為環境中的檔案,可供作業系統當做虛擬記憶體。

    若要確認環境目前是否正在使用交換記憶體,請在環境的終端機工作階段中執行 top 命令。如果正在使用置換記憶體,輸出顯示為非零的 Swap 記憶體統計資料 (例如:Swap: 499996k total, 1280k used, 498716 free, 110672k cached)。若要停止顯示即時記憶體資訊,請按 Ctrl + C

    若要建立置換檔,請在環境中執行如下命令。

    sudo fallocate --length 512MB /var/swapfile && sudo chmod 600 /var/swapfile && sudo mkswap /var/swapfile && echo '/var/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab > /dev/null

    上述命令執行以下事項:

    1. /var 目錄中,建立稱為 swapfile 的 512 MB 檔案。

    2. 變更 swapfile 檔的存取許可,僅限擁有者讀取或寫入。

    3. swapfile 檔設定為置換檔。

    4. 將資訊寫入 /etc/fstab file。這使得每當系統重新啟動時都可以使用此置換檔。

    您執行上述命令後,若要立即讓置換檔可用,請執行下列命令。

    sudo swapon /var/swapfile
  • 使用多個運算資源將環境移動到 (或先調整環境的大小再移動) 執行個體或伺服器,。若要移動 Amazon EC2 執行個體或調整其大小,請參閱 移動環境並調整 Amazon EBS 磁碟區大小或予以加密。其他執行個體或伺服器類型,請參閱您的執行個體或伺服器文件。

無法在 AWS Cloud9 IDE 中上傳檔案

問題:使用者無法在 AWS Cloud9 IDE 中上傳大型檔案。這些上傳失敗。

原因: AWS Cloud9 限制上傳速度到 AWS Cloud9 IDE,結果文件上傳請求超時。

建議的解決方案:我們建議將檔案上傳到 Amazon S3,然後使用 Amazon S3 透過 AWS Cloud9 IDE 中的 CLI 將檔案下載到環境中。如需將物件上傳到 Amazon S3 的詳細資訊,請參閱 Amazon S3 使用者指南中的上傳物件

AWS Cloud9 IDE 中的下載速度慢

問題:嘗試從 AWS Cloud9 IDE 下載檔案時,使用者正在處理較慢的下載速度。

原因:當您從 IDE 下載文件到本地文件系統時,傳輸速度將被限制為 0.1 兆字節/秒的速度。

建議的解決方案:若要提高檔案傳輸速度,請使用 AWS Cloud9 IDE 中的 CLI 將檔案上傳到 Amazon S3,然後使用 Amazon S3 從該處下載檔案。

無法在 IDE 中預覽 Web 內容,因為與網站的連線不安全

問題:當您嘗試存取 Web 內容 (例如 AWS Cloud9 EC2 環境中託管的網 WordPress 站) 時,IDE 預覽視窗無法顯示該內容。

可能的原因:依預設,您在 AWS Cloud9 IDE 的 [應用程式預覽] 索引標籤中存取的所有網頁都會自動使用 HTTPS 通訊協定。如果頁面的 URI 具有不安全的 http 通訊協定,就會自動由 https 替代。而且您無法藉由手動將 https 改回 http 來存取不安全的內容。

建議解決方案:從您嘗試在 IDE 中預覽的網站中移除不安全的 HTTP 指令碼或內容。請按照 Web 伺服器或內容管理系統的指示,以取得實作 HTTPS 的指引。

(回到頁首)

第三方應用程式和服務

下節概述了與協力廠商應用程式和服務相關的疑難排解問題。

因為 tmux 工作階段發生錯誤,所以無法與 AWS Cloud9 中的終端機視窗互動。

問題:當您嘗試在中啟動新的終端機視窗時 AWS Cloud9,預期的命令列介面無法使用。沒有命令提示字元,您無法輸入文字。系統會傳回諸如 tmux: need UTF-8 locale (LC_CTYPE)invalid LC_ALL, LC_CTYPE or LANG 等錯誤訊息。

可能的原因:無回應的終端機可能是由 tmux 錯誤所造成。 AWS Cloud9 使用 tmux 公用程式。如此,顯示在終端機中的資訊,即使在頁面重新載入或您重新連線至開發環境時也會持續存在。

tmux 工作階段中,終端機視窗中顯示的內容會由用戶端處理。用戶端會與可管理多個工作階段的伺服器通訊。伺服器和用戶端會透過位於 tmp 資料夾中的通訊端進行通訊。如果 tmp 資料夾在開發環境中遺失,或者套用了過於嚴格的許可,tmux 工作階段就無法執行。如果發生這種情況,IDE 中的終端機視窗將不會有回應。

建議的解決方案:如果 tmux 錯誤使您無法與終端機視窗互動,請使用替代方式來建立具有適當許可的 tmp 資料夾。這樣,tmux 工作階段就能執行。其中一種解決方法是在 .bash_profile.bashrc 檔案中匯出 LC_CTYPE。另一個建議的解決方案是用 AWS Systems Manager 來設定主機管理組態。如此可以透過 Amazon EC2 主控台存取相關執行個體。

設定主機管理

  1. 首先,在主 AWS Cloud9 控台中尋找環境執行個體的名稱。若要這麼做,請選擇 Your environments (您的環境) 中的相關面板,並選擇 View details (檢視詳細資訊)。在 Environment details (環境詳細資訊) 頁面中,選擇 Go to Instance (前往執行個體)。在 Amazon EC2 主控台中,確認您需要存取的執行個體名稱。

  2. 現在轉到 AWS Systems Manager 控制台,然後在導航窗格中選擇快速設置

  3. Quick Setup (快速設定) 頁面中,選擇 Create (建立)。

  4. 對於 Configuration types (組態類型),前往 Host Management (主機管理),然後選擇 Create (建立)。

  5. 對於 Customize Host Management configuration options (自訂主機管理組態選項),在 Targets (目標) 區段中,選擇 Manual (手動)。

  6. 選取您要存取的 EC2 執行個體,然後選擇 Create (建立)。

連線至執行個體並執行命令

注意

以下步驟適用於全新 EC2 主控台。

  1. 在 Amazon EC2 主控台的導覽窗格中,選擇 Instances (執行個體),然後選取您要連線的執行個體。

  2. 選擇連線

    如果 Connect (連線) 並未啟用,您可能需要先啟動該執行個體。

  3. Connect to your instance (連線至您的執行個體) 窗格中,對於 Connection method (連線方法),選擇 Session Manager (工作階段管理員),然後選擇 Connect (連線)。

  4. 在出現的終端機工作階段視窗中,輸入下列指令。這些命令會建立具有適當許可的 tmp 資料夾,讓 tmux 通訊端可供使用。

    sudo mkdir /tmp sudo chmod 777 /tmp sudo rmdir /tmp/tmux-*

無法使用舊版 Microsoft Edge 瀏覽器載入 IDE

問題:HTTP403: FORBIDDEN嘗試使用Microsoft Edge網頁瀏覽器載入 AWS Cloud9 IDE 時傳回錯誤。

可能的原因: AWS Cloud9 IDE 不支援某些舊版的Microsoft Edge.

建議解決方案:若要更新瀏覽器,請選擇 Microsoft Edge 工具列中的省略符號 (...) 按鈕。從功能表中,選擇 Settings (設定),然後選擇 About Microsoft Edge (關於 Microsoft Edge)。如果需要更新,系統會自動下載並安裝更新。

除錯 C++ 專案時發生 gdb 錯誤

問題:嘗試除錯 IDE 中的 C++ 專案時,回報 gdb 除錯器錯誤。

可能的原因:假設您的 AWS Cloud9 環境使用特定 EC2 執行個體類型 (例如,t3.smallm5.large)。然後,當您嘗試使用 IDE 的內建執行器來執行並除錯 C++ 專案時,可能會發生除錯錯誤。這個錯誤會發生,可能是因為預先安裝在環境中的 gdb (GNU 專案除錯器) 版本無法在某些處理器平台上運作。您可能會看到下列錯誤代碼。

GDB server terminated with code 1

建議解決方案:gdb 不支援某些處理器平台的問題從版本 3.0 起已經修正。請解除安裝舊版的除錯器並升級到較新版本的 gdb

  1. 通過在 AWS Cloud9 終端中運行以下命令刪除調試器的現有版本。

    sudo yum -y remove gdb
  2. 擷取 gdb 的封存檔,加以解壓縮,然後執行下列命令,以便導覽到含有解壓縮檔案的目錄:

    wget "http://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.gz" tar xzf gdb-8.3.tar.gz cd gdb-8.3
  3. 執行下列命令來建置除錯器。若要這麼做,請將下列文字複製並貼上為單一區塊,然後按下 Return (傳回) 執行 make

    ./configure --prefix=/usr \ --with-system-readline \ --with-python=/usr/bin/python3 && make
  4. 安裝除錯器。

    sudo make -C gdb install
  5. 確認已安裝除錯器的更新版本。

    gdb --version

PHP 運行器的問題 AWS Cloud9

問題:使用者無法在 PHP CLI 執行程式終端機中檢視任何輸出。

原因:CLI 運行器需要設置為 PHP,並且需要啟用調試器模式。

推薦的解決方案:將 CLI 運行器設置為 PHP,並確保啟用調試器模式。

與 Node.js 相關的格林錯誤

問題:使用者無法執行 Node.js 並收到 GLIBC 錯誤。以下是這些錯誤訊息的範例:

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)

原因:可能是與正在使用的實例相關的 Node.js 版本問題。

建議的解決方案:如需有關如何安裝 Node.js 的資訊,請參閱步驟 1:安裝必要工具本節 AWS Cloud9。